US An english version of this website is available, would you like to check it out ?

YES | NO, stay on the french website


FR Une version anglophone du site est disponible, souhaitez-vous la consulter ?

OUI | NON, rester sur le site français

Close / Fermer

Findfirst

03/01/2007 15:50 par Anonym | Signaler un contenu abusif
Bonjour,

j'utilise findfirst pour rechercher si un enregistrement existe déjà dans un
table. Mon prbl c que je fais une recherche avec un ( ' ) et du coup ça
provoque une erreur.

voici le cas :

cod = "VALVE D'EAU"

TProduit.FindFirst "code = '" & cod & "'"

If TProduit.NoMatch Then

else

end if

Il me semblait qu'il y avait un moyen de dire dans la requete que cod est
un critère, un peu comme les [ ] pour les nom de tables avec des espaces.

Si vous pouvez m'aider, merci d'avance.

Damien
email Suivre cette discussionRéponses Lire les 6 réponsesReplies Répondre

Lire les réponses

#1 Jean-marc
03/01/2007 15h59 | Contenu abusif
<util> a écrit dans le message de news:

Bonjour,

j'utilise findfirst pour rechercher si un enregistrement existe déjà dans
un table. Mon prbl c que je fais une recherche avec un ( ' ) et du coup ça
provoque une erreur.

voici le cas :

cod = "VALVE D'EAU"

TProduit.FindFirst "code = '" & cod & "'"

If TProduit.NoMatch Then

else

end if

Il me semblait qu'il y avait un moyen de dire dans la requete que cod est
un critère, un peu comme les [ ] pour les nom de tables avec des espaces.

Si vous pouvez m'aider, merci d'avance.



Hello,

il suffit de doubler les ( ' ), systématiquement.
On fait donc:


MY_cod = replace(cod, "'", "''")



TProduit.FindFirst "code = '" & MY_cod & "'"

If TProduit.NoMatch Then

else

end if



et voila :-)


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
 

Questions similaires