" ou guillemet ou double cote ou chr(34)
' ou apostrophe ou simple cote ou chr(39)
quelque soit le nom que vous utilisez, ce ne sont pas les mêmes touches sur votre clavier... deux apostrophes ne sont pas égales à un guillemet
RAPPEL 2
Une requête SQL est chaine avec un formatage spécifique
SELECT "Champ1" FROM "uneTable" WHERE "Champ2"='uneValeur'
- les noms de champs et de tables sont entre double cote
- les valeurs de champs sont entre simple cote
Méthode de construction d'une requête envoyée par macro
1. Ecrivez votre requête telle qu'elle devra être vue par votre base
SELECT "Champ1" FROM "uneTable" WHERE "Champ2"='uneValeur'
2. Mettre sa requête dans une chaine
METHODE 1
Mettre les " en début et fin de votre requête, puis doubler les " qui sont à l'intérieur de votre chaine
"SELECT ""Champ1"" FROM ""uneTable"" WHERE ""Champ2""='uneValeur'"
si uneValeur doit être une variable :
"SELECT ""Champ1"" FROM ""uneTable"" WHERE ""Champ2""='" & uneVariable & "'"
METHODE 2
Utiliser le code ASCII des " --> chr(34) et des ' --> chr(39)
"SELECT " & chr(34) & "Champ1" & chr(34) & " FROM " & chr(34) & "uneTable" & chr(34) & " WHERE " & chr(34) & "Champ2" & chr(34) & "='uneValeur'"
si uneValeur doit être une variable :
"SELECT " & chr(34) & "Champ1" & chr(34) & " FROM " & chr(34) & "uneTable" & chr(34) & " WHERE " & chr(34) & "Champ2" & chr(34) & "=" & chr(39) & uneVariable & chr(39)
ATTENTION
Si votre valeur de champ contient des ', il est nécessaire de les doubler !!
exemple
'l'artiste' deviendra 'l''artiste'
cris59
PS : j'espère ne pas avoir fait d'erreur, si c'est le cas dites le moi ....
Le modérateur a écrit :Merci pour ce sujet interessant mis en Post-it.