bonjour,
la discussion est marqu�e "r�solue", donc on ne sait pas si le probl�me est r�gl� et si r�pondre est toujours pertinent ...
Cependant quand je lis cela:

Envoy� par
Mrhappy94
Dans un des enregistrements de la table Nom a pour valeur "Anon d'Afrique"
Je r�cup�re d'une autre table une variable Nomsansaccent qui contient �galement "Anon d'Afrique" donc avec une '
J'aimerais r�cup�r� de la table T_Liste la valeur du champ Num pour l'enregistrement dont le champs Nom contient la valeur de la variable Nomsansaccent
le sql est égal à ' SELECT T_liste.Num, T_liste.Nom FROM T_liste WHERE (((T_liste.Nom)='ANON d''AFRIQUE - 1er etat'));
je pense qu'il faut appliquer la r�gle suivante: quand il y a une apostrophe dans une colonne et une variable � comparer, il faut l'ajouter (ou l'enlever) des 2 cot�s de la comparaison, sans oublier de doubler les guillemets utilis�s dans l'environnement SQL (car le guillemet est le s�parateur de texte dans VBA):
sql = "SELECT T_liste.Num, T_liste.Nom FROM T_liste WHERE Replace(T_liste.Nom,""'"", ""''"")='" & Replace(Nomsansaccent, ""'"", ""''"") & "';"
ou, pour enlever l'apostrophe:
sql = "SELECT T_liste.Num, T_liste.Nom FROM T_liste WHERE Replace(T_liste.Nom,""'"","""")='" & Replace(Nomsansaccent, "'", "") & "';"
sans cela, la requ�te ne renverra jamais rien
Partager