Apostrophes dans un recordset.find

Signaler
Messages postés
2
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
21 février 2003
-
Messages postés
2
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
21 février 2003
-
Salut,

J'ai un problème en Access-vba : je lance une recherche sur une table (en passant par un recordset) pour trouver la valeur entrée dans une liste modifiable. Le problème arrive quand il y a plusieurs apostrophe dans la valeur entrée. Le replace que j'utilise empêche la recherche de planter si il y a une seule apostrophe mais cela plante toujours si il y au moins deux apostrophes dans la valeur recherchée.

voilà mon code :

Dim rst_titre As New ADODB.Recordset

rst_titre.Open "Table_titre", CurrentProject.Connection, adOpenDynamic

rst_titre.Find "TITRE = '" & Replace(Modifiable9, "'", "''") & "'"

Donc si vous connaissez la solution....

Merci !!!

2 réponses

Messages postés
562
Date d'inscription
dimanche 16 décembre 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
1
une solution radicale serait de supprimer les apostrophes de tes champs (ils sont rarement utiles...).
Sinon, il faut que tu doubles chaque apostrophe inclus dans tes enregistrements. Dès que tu en trouves un tu en rajoutes un juste après.
Voilà
@+
Messages postés
2
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
21 février 2003

La fonction replace sert justement à doubler chaque apostrophe, la recherche fonctionne alors quand il y a une apostrophe mais pas quand il y en a plusieurs dans la valeur entrée.

ex : recherche sur : "l'essai" fonctionne
recherche sur l'astuce d'info" plante

donc j'en suis toujours au même point :(

merci quand même...
@+