Lors de l'ajout/modification/suppression via une requête SQL, il faut faire attention aux caractères spéciaux tels que l'apostrophe. Ainsi la requête suivante provoque une erreur à cause de l'apostrophe : Code (Text): sTxtRequete = "SELECT * FROM CLIENT WHERE NOM = 'L'ATELIER' " HExécuteRequêteSQL(RQ_,sTxtRequete) La procédure suivante permet de pallier au problème : Code (Text): PROCEDURE VersChaineSQL(MonTexte) LaChaineConvertie est une chaîne = MonTexte LaChaineConvertie = Remplace(LaChaineConvertie,"\","\\") LaChaineConvertie = Remplace(LaChaineConvertie,"""","\""") LaChaineConvertie = Remplace(LaChaineConvertie,"'","\'") LaChaineConvertie = Remplace(LaChaineConvertie,Null,"\"+Null) RENVOYER LaChaineConvertie La requête devient alors : Code (Text): sTxtRequete = "SELECT * FROM CLIENT WHERE NOM = '"+VersChaineSQL("L'ATELIER")+"' " HExécuteRequêteSQL(RQ_,sTxtRequete)
Merci pour l'astuce, J'utilise également les crochets pour les chaines de ce type. Code (Text): MonTexte est une Chaine sTxtRequete est une Chaine MonTexte = [ L'ATELIER ] sTxtRequete = [ SELECT * FROM CLIENT WHERE NOM = '%1' ] sTxtRequete = Chaineconstruit(sTxtRequete,MonTexte) HExécuteRequêteSQL(RQ_,sTxtRequete) Attention code écrit à la volée ... mais le principe y est