Bonsoir,
J'ai une base de données Access contenant plusieurs contacts. La base contient les champs : Nom, Prenom, Age, Sexe.
En utilisant un dataset, j'ai affiché les données de ma base dans un DataGrid et j'ai crée le code me permet d'effectuer ce que j'appelle "une recherche simple" c'est à dire que grâce à plusieurs txtBox je peux chercher dans ma base les contacts dont le nom = txtNom.Text, le prénom = txtPrenom.Text, l'age = txtAge.text et le sexe txtSexe.Text.
Cependant, comme vous pourrez le voir sur mon code je pense m'être compliqué la tâche, donc y a-t-il un moyen de le simplifier d'une part?
Et d'autre part quelle démarche me conseillerez vous afin d'effectuer une recherche plus complexe.
Je m'explique : je souhaiterais par exemple afficher parmi les contacts les hommes (valeur "H" dans base access) dont l'âge est égale à la valeur inscrite dans ma Textbox txtAge.Text?
De même aurrez vous un conseil pour chercher les contacts qui remplissent les conditions suivante Hommes de plus (ou moins de) de X ans (valeur de ma TextBox txtAge.Text?
Existe-t-il un tutoriel ou un exemple pour ce type de recherche ou même un exemple de Form pour effectuer une recherche avancée?
Je vous en remercie Beaucoup!!!!!!
Voici le code que j'ai écrit (désolé si celui-ci défie les lois de la programmation mais je suis en phase d'apprentissage):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click If txtPrenom.Text = "" And txtAge.Text = "" And txtSexe.Text = "" Then Me.TemoinsIDBindingSource.Filter = "Nom like '%" & txtNom.Text & "%'" End If If txtNom.Text = "" And txtAge.Text = "" And txtSexe.Text = "" Then Me.TemoinsIDBindingSource.Filter = "Prénom like '%" & txtPrenom.Text & "%'" End If If txtNom.Text = "" And txtPrenom.Text = "" And txtSexe.Text = "" Then Me.TemoinsIDBindingSource.Filter = "Âge like '%" & txtAge.Text & "%'" End If If txtNom.Text = "" And txtPrenom.Text = "" And txtAge.Text = "" Then Me.TemoinsIDBindingSource.Filter = "Sexe like '%" & txtSexe.Text & "%'" End If End Sub
J'ai également essayé de cumuler les requêtes avec OR ou AND mais cle code si dessous me donne une erreur de syntaxe
(La conversion de la chaîne "Nom like '%%'" en type 'Long' n'est pas valide):
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.TemoinsIDBindingSource.Filter = "Nom like '%" & txtNom.Text & "%'" Or "Prénom like '%" & txtPrenom.Text & "%'"
Partager