Apostrophe, Access, Erreur de syntaxe [Résolu]

Signaler
Messages postés
863
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015
-
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Salut à tous !

J'ai une erreur de syntaxe lorsque je clique sur un mot avec apostrophe :
RST.Open "SELECT * FROM Tb_Lexique where titre like 'T%'", CNX, adOpenStatic, adLockOptimistic, adCmdText
If RST.RecordCount > 0 Then
    LST_Titre.Clear
    While Not RST.EOF
        LST_Titre.AddItem RST("Titre")
        RST.MoveNext
    Wend
End If
RST.Close


Vous avez une solution svp ?
Merci

----------
OS : Windows 7 Pro 64 Bit
Platforme : Visual Basic 6.0

10 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
et tu n'as qu'à insérer le "%" ===>>
T = "aaaa' bbbb"
MsgBox "SELECT * FROM Tb_Lexique where titre like """ & T & "%"""

Simple !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
16
Tu dois doubler les apostrophes pour éviter les erreurs.
Mais je ne vois pas vraiment comment les doubler avec une expression comme Like 'T%'

Avec une variable, on irait comme ceci
"SELECT * FROM Tb_Lexique where titre = '" & Replace(MaVariable, "'", "''") & "'"

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Bonjour,
lorsque je clique sur un mot avec apostrophe

quel est ce mot ? Tu cliques sur quoi ?
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Bon..
Il te faut apprendre à être très précis, lorsque tu demandes de l'aide
1) Je devine que T est dans cette "affaire" une variable
regarde ce que fait ceci :
T = "aaaa bbbb"
MsgBox "SELECT * FROM Tb_Lexique where titre like """ & T & """"

2) ton like est ici abusif. Un = suffit puisque tu teste une égalité !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
863
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

Le T% affiche dans la listbox tout les mot commençant par T....
[quote=Exemple]Traitement curatif
Traitement d'appoint
Traitement d'attaque
Traitement de fond
Traitement de la crise/quote
Alors si je clique sur Traitement d'appoint, j'ai ce bug à cause de l'apostrophe.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Je t'ai alors déjà répondu


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Bonsoir, MPI.
Comme je l'ai fait, tout bêtement.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
863
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

J'ai compris dès ton second message, mais il n'a rien résolu :s
RST.Open "SELECT * FROM Tb_Lexique where titre like """ & T & "%""", CNX, adOpenStatic, adLockOptimistic, adCmdText
If RST.RecordCount > 0 Then
    LST_Titre.Clear
    While Not RST.EOF
        LST_Titre.AddItem RST("Titre")
        RST.MoveNext
    Wend
End If
RST.Close


Merci MPi, mais idem problème pour le like...
Messages postés
863
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

Oh merde ! Ce n'est même pas de là le problème !

Résolu, merci à tous les deux pour votre aide, pour ton bout de code ucfoutu qui me servira certainement et pour ton aide à toi aussi MPi

Désolé du dérangement...

PS: Ucfoutu, pour le redimensionnement du form, tu n'as plus rien dis... ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Ton PS :
Parce que je n'ai plus rien à ajouter au code que je t'ai montré (et qui fonctionne parfaitement) pardi !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.