cs_monaco63
Messages postés76Date d'inscriptionvendredi 12 novembre 2004StatutMembreDernière intervention15 juin 2009
-
4 sept. 2007 à 15:49
cs_monaco63
Messages postés76Date d'inscriptionvendredi 12 novembre 2004StatutMembreDernière intervention15 juin 2009
-
12 sept. 2007 à 14:11
Bonjour à tous,
Je souhaiterais savoir comment faire pour rechercher une partie d'une chaîne de caractères, je m'explique :
je dispose de 2 tables ou il y a des enregistrements (nom, prenom, adresse, etc.)
- ma 1ère table comprend un enregistrement tel que TOTO pour le nom
- ma 2ème table comprend un enregistrement tel que M. TOTO pour le nom (c'est la même personne)
quand j'exécute le code ci-dessous :
il ne me trouve pas M. TOTO à cause du M. pour les monsieur, (j'ai également Mlle. Mme.)
je ne peux pas changer la 2ème table pour ceux qui vont me dire enlève M. ou Mme. ou encore Mlle.
Set DB1 = DBEngine(0)(0)
Set rsNewResponsable = DB1.OpenRecordset("SELECT * FROM PVHT_VH")
Set rsNewResponsable2 = DB1.OpenRecordset("SELECT * FROM PVHT_RESP")
'Pour la table PVHT_RESP
Do Until rsNewResponsable2.EOF
'Si le champ de la table PVHT_RESP correspond
If Trim(lsAncienResponsable) = Trim(rsNewResponsable2.FindFirst.Fields("RESPONSABLE")) Then
rsNewResponsable2.EDIT
rsNewResponsable2.Fields("RESPONS_SITE") = RESPONSABLE.Text
rsNewResponsable2.Update
Exit Do
cs_monaco63
Messages postés76Date d'inscriptionvendredi 12 novembre 2004StatutMembreDernière intervention15 juin 2009 12 sept. 2007 à 14:11
C'est bon je viens de trouver la solution à mon petit problème voici la requête SQL correcte :
Set rsNewResponsable2 = DB1.OpenRecordset("SELECT * FROM PVHT_RESP WHERE UCase(RESPONSABLE) LIKE '*" & UCase(lsAncienResponsable) & "*' ")
cs_etniqs
Messages postés201Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention10 mai 2016 4 sept. 2007 à 17:30
1 - je vois pas l'interet d'utiliser Trim
2 - tu peux balancer directement
if instr(1,lcase("TOTO"),lcase("la case de M. Toto")) >0 then
qu'il y est du M. ou du Mme. ne change rien
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 6 sept. 2007 à 07:49
Salut,
Regarde comment utiliser le LIKE, il y a peu etre qqch que tu fais mal.
Tu peux aussi essayer de poser ta question (ou du moins d'aller faire un tour) sur [www.sqlfr.com www.sqlfr.com
cs_monaco63
Messages postés76Date d'inscriptionvendredi 12 novembre 2004StatutMembreDernière intervention15 juin 2009 6 sept. 2007 à 10:51
Re bonjour, j'ai posté un autre message sur le lien que tu m'a donné www.sqlfr.com
De plus je suis entrain de modifier mon autre requête est j'ai une erreur de syntaxe :
erreur de syntaxe (opérateur absent) dans l'expression 'RESPONS_SITE = TOTO'
Voici ma nouvelle requêteSet rsNewResponsable <gras>DB1.OpenRecordset("SELECT RESPONS_SITE FROM PVHT_VH WHERE RESPONS_SITE " & lsAncienResponsable & "")</gras>