Bonjour tout le monde !!
Je vous expose rapidement mon soucis: je suis en train de monter une base de données qui contient un formulaire de recherche avec plusieurs critères, inspiré de Caféine, adapté à mon cas, et qui fonctionne bien.
J'ai donc effectué plusieurs saisies pour tester le fonctionnement de la base, et là ben mon soucis est apparut.
En effet dans ce formulaire de recherche j'ai des problèmes avec les accents et les apostrophes.
A la base j'avais un code VBA comme ceci:
Je vous ai mis ces deux lignes en exemple, il y en a d'autres mais sur le même principe de sélection donc inutile de tout mettre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 If Me.chkNom Then SQL = SQL & "And RQTFORMMULTI!Nom like '" & Me.txtRechNom & "*' " End If If Me.chkIDCategorie Then SQL = SQL & "And RQTFORMMULTI!Categorie like '" & Me.cmbRechIDCategorie & "*' " End If
J'ai résolu le problème des accents (enfin je pense du moins) en enlevant l'astérisque dans la syntaxe du SQL, donc j'ai ceci:
Mais j'ai toujours mon problème d'apostrophe que je n'arrive pas à résoudre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 If Me.chkNom Then SQL = SQL & "And RQTFORMMULTI!Nom like '" & Me.txtRechNom & "' " End If If Me.chkIDCategorie Then SQL = SQL & "And RQTFORMMULTI!Categorie like '" & Me.cmbRechIDCategorie & "' " End If
J'ai lu le tuto de Caféine à cette adresse
http://cafeine.developpez.com/access...ugprint/#LVI-E
mais ça ne fonctionne pas.
En plus dans les explications dans le SQL il y a "=" et moi j'ai le "like" alors peut être c'est pour cela que je n'arrive pas à avoir le résultat voulu.
Lorsque j'essaie de doubler les quotes en utilisant la fonction Replace comme préconisé j'ai une liste résultat videquand je coche la recherche nom ou autre et aucun effet lorsque je lance une recherche
Le debug me renvoie sur la ligne:
Voilà alors si quelqu'un sait comment je doit écrire la syntaxe de mon SQL pour arriver à sélectionner des mots avec apostrophes, y doit pas manquer grand chose mais j'y arrive pas :-(
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.lblStats.Caption = DCount("*", "RQTFORMMULTI", SQLWhere) & " / " & DCount("*", "RQTFORMMULTI")
Sinon j'ai toujours l'option de pas mettre d'apostrophe vous me direz mais comme cette base va être utilisée par plusieurs personnes c'est pas terrible la solution par défaut, je préfère d'abord demander si quelqu'un veut bien m'aider.
Partager