Recherche multiple avec ado control

spydermanman Messages postés 3 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 19 avril 2005 - 18 avril 2005 à 18:00
spydermanman Messages postés 3 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 19 avril 2005 - 19 avril 2005 à 12:14
Bonsoir

j'essaye depuis un moment de faire des recherches multiples avec ado control.

Je ni parviens pas

J'utilise ce bout de code que j'ai trouve sur cs mais il ne me sert que pour 1 critere uniquement, pouvez vous m'aider.

Adodc1.Recordset.Filter = "SegApell LIKE '" & Trim(Txtcdap.Text) & "*'"

le fait est que j'essaye que le dbgrid me montre uniquement les recordsets qui on exactement les 2 criteres.

merci

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
18 avril 2005 à 19:28
Salut
Avec si peu d'info, ça va être dur de te répondre, mais ce que tu as écrit est correct :
Il te sélectionnera tous les enregistrements dont le champ "SegApell" commence par le texte contenu dans txtCdap.
Commence parce qu'il n'y a pas d'étoile au début de chaine (sinon --> LIKE '*gnagnagna*')
De plus, je pense que ta recherche dépend les min/maj (dépend de la DB, MySQL n'est pas sensible, alors que Sybase l'est) : Si tu veux que la recherche soit valable aussi bien en majuscule qu'en minuscule :
"Upper(SegApell) LIKE '" & UCase(Trim(Txtcdap.Text)) & "*'"

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
AdilELHASSOUNI Messages postés 145 Date d'inscription vendredi 11 janvier 2002 Statut Membre Dernière intervention 19 juin 2007 1
18 avril 2005 à 21:26
Je crois si j'ai bien compris la question que spydermanman veut un filtre avec deux criteres.
Si c'est le cas il faut employer une condition composee.
AdoDc.Recordset.Filter = " Champ1 Like '" & val1 "*' AND Champ2 Like '" & val2 "*' "
Sinon explique toi.
bonne Chance
0
spydermanman Messages postés 3 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 19 avril 2005
18 avril 2005 à 22:07
excusez moi ke me suis mal expliqué

j'ai une table avec 65000 personnes dont je veux les rechercher par les 2 noms

donc je veux ecrire dans un textbox le premier nom et dans un autre textbox le 2eme nom, la fonction doit me filtrer la base de donneés en premier temps par le premier nom et apres me re-filtre ce qu'il reste de la base en recherchant par l'autre nom.
Et fait il faut que quand j'ecrive les deux noms il me resten quelques lignes dans le datagrid pour selecionner ma personne recherché.

Je pense que je doit le faire en faisant une recherche multicritere masi si quelqu'un connait une autre maniere.....

au respect AdilELHASSOUNI j'ai essayé ta condition mais ça marche pas.

Adodc1.Recordset.Filter = "SegApell LIKE '" & Trim(Txtcdap.Text) '"*' and "PriApell like '" & trim(txtprdp.text) '"*'

Merci a tous.
0
AdilELHASSOUNI Messages postés 145 Date d'inscription vendredi 11 janvier 2002 Statut Membre Dernière intervention 19 juin 2007 1
19 avril 2005 à 10:26
ta condition est incorrecte :
"SegApell LIKE '" & Trim(Txtcdap.Text) '"*' and "PriApell like '" & trim(txtprdp.text) '"*'
d'autant que tu es entrain de dire que tu veux comparer avec le nom

donc pourquoi la premiere fois tu utilises SegApell et la seconde PriApell
Essaye :
"SegApell LIKE '" & Trim(Txtcdap.Text) & "*' and SegApell like '" & trim(txtprdp.text) & "*'"
Donne moi de tes nouvelles
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
spydermanman Messages postés 3 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 19 avril 2005
19 avril 2005 à 12:14
Merci de ta reponse AdilELHASSOUNI.

J'ai essaye ta condition est elle marche bien, mais c'est pas exactement je que je voulais, mais j'ai modifie ta condition est la oui elle marche parfait.

"PriApell LIKE '" & Trim(Txtcdap.Text) & "*' and SegApell like '" & Trim(Txtprdp.Text) & "*'"

de cette maniere la condition me recherche sur un champ de la base de donneés le premier nom et la seconde condition me recherche le second champ avec le 2eme nom.

Merci beaucoup.
0
Rejoignez-nous