Bonjour,
Attention !
Avec SQL ACCESS il faut perdre cette mauvaise habitude d'utiliser l'apostrophe. En effet cela peut occasionner des erreurs.
En effet à part gérer du texte littéraire on a peut de chance de tomber sur des guillemets alors que l'apostrophe est présente dans les noms de personnes et des phrases, titres...
Utiliser en priorité le guillemet.
Ne provoque pas d'erreur
... WHERE champ='un poisson'
Provoque une erreur
... WHERE champ='l'élephant'
Alors que :
... WHERE champ="l'élephant"
ne provoque pas d'erreur.
Dans une string qui est déjà bornée par des guillemets il faut doubler celles contenues.
Comme ceci par exemple :
1 2 3
|
dim strSQL as string
strSQL = "... WHERE champ=""l'élephant""" |
Dans ton cas ça donnerait ceci :
strSQl = "insert into TAB_IMPORT_TEST SELECT * from TAB_IMPORT where TAB_IMPORT.Emplacement <> """" ;"
On peut également tomber sur le cas d'un traitement des minutes et secondes au format ' ".
Voici une petite fonction pour traiter le contenu d'une variable suivant le séparateur :
1 2 3 4 5
| Function fGetSqlFormatMS(minuteSeconde As String, sep As String) As String
fGetSqlFormatMS = Replace(minuteSeconde, String(1, sep), String(2, sep))
End Function |
Que l'on préfère l'apostrophe ou le guillemet le problème est réglé.
guillemet
"SELECT ... WHERE Champ = '" & fGetSqlFormatMS(mavaleur,"'") & "';"
apostrophe
"SELECT ... WHERE Champ = """ & fGetSqlFormatMS(mavaleur,"""") & """;"
Cordialement,
Partager