Recherche d'un nom dans une base de données

Signaler
Messages postés
38
Date d'inscription
samedi 20 juin 2009
Statut
Membre
Dernière intervention
12 septembre 2011
-
Messages postés
38
Date d'inscription
samedi 20 juin 2009
Statut
Membre
Dernière intervention
12 septembre 2011
-
Bonjour à tous,

Je sollicite votre bienveillance car je souhaiterais un petit coup de main pour mon programme. Je constitue une base de données Clients avec des champs tels le NOM et le Prénom du client. Pas de soucis pour ajouter des données à la table, mais par contre je n'arrive pas à trouver les codes pour effectuer une recherche dans ma base de données.

En fait, ce que je souhaite faire dans un windows form appelé Recherche :

   - Taper un Nom (ou une partie de nom) dans un textbox
   - Cliquer sur un bouton Rechercher
   - Afficher le résultat (dans le meme windows form) dans une listbox avec affichage du NOM et du Prénom
   - Ensuite mettre en surbrillance le résultat que je veux puis cliquer sur un autre bouton pour voir les données dans un autre windows form OU supprimer l'enregistrement de la table.

Est-ce réalisable ? ET Quelqu'un serait-il assez aimable pour m'aider ?

D'avance merci

Damien

10 réponses

Messages postés
78
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
17 février 2011
1
Petit élément de réponse, j'èspère que cela pourra t'aider mais pour afficher dans la list box je ne suis pa sur et pour la mise en surbrillance je ne sais pas ! A toi de voir !

Private Sub B_Rechercher_Click()

dim db as database
dim rs as recordset
dim sql as string

set db = CurrentDb()
sql = "select nom, prenom from T_Client where nom='" & textbox.value & "*';"
set rs = db.OpenRecordset(sql)

listbox.value = rs.Fields("Nom").Value & " " & rs.Fields("Prénom").Value

end sub
Messages postés
38
Date d'inscription
samedi 20 juin 2009
Statut
Membre
Dernière intervention
12 septembre 2011

Merci pour la réponse, je vais déjà voir avec ça je te tiens au courant.

Bonne soirée.
Messages postés
38
Date d'inscription
samedi 20 juin 2009
Statut
Membre
Dernière intervention
12 septembre 2011

Bonjour,

Je reviens vers toi car j'ai un souci sur le code : à quoi correspondent "database", "recordset" et "CurrentDb"  car il sont surlignés et il y a marqué "Type non reconnu".

J'ai également changé Textbox.value en Textbox.Text et de même pour listbox

Merci, toute aide est la bienvenue.

A+
Messages postés
78
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
17 février 2011
1
Le code que je t'ai mis est du VBA access ! Si tu est sur excel il faut que tu aille dans outils, reference puis tu coche "microsoft DAO 3.6 Object Librairie" puis clique sur ok ! C'est pour que excel reconnaisse le language base de donnée ! Mais avant de continuer précise moi si tu est sur VB.net ou VBA ou autre car je doit avoir des morceau de code pour connection au base de donnée et je pourrais mieux t'aider !
Messages postés
38
Date d'inscription
samedi 20 juin 2009
Statut
Membre
Dernière intervention
12 septembre 2011

Je sais pas trop pour vb.net ou VBA. Je fait la prog en passant par le logiciel Visual Basic 2008 Express. Je sais pas si ça peu t'aider. En tout cas merci du coup de main.
Messages postés
78
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
17 février 2011
1
D'abord il faut que tu mette sa au load de ton programme c'est à dire au chargement :
'ouverture de la base de donnée
db = dbe.OpenDatabase("K:\Correcteurs\correct.mdb")

Ensuite tu fait un truc dans ce genre (attention ce n'est qu'un exemple il faut adapter à tes besoins ) :

Private Sub brecherche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles brecherche.Click

'var
Dim langue As String
Dim query As String
Dim mess As String
Dim prix As Single
Dim TtCopies As Integer
Dim Cout As Single

'Début
prix = 0
Cout = 0
langue = txtLang.Text
lstStat.Items.Clear()
query = "select * from Copies, Niveau where Niveau.NumNiveau=Copies.NumNiveau and Langue='" & langue & "'"
rsCopies = db.OpenRecordset(query)
While Not rsCopies.EOF
mess = (rsCopies("NumP").Value) & " - "
mess = mess & (rsCopies("NbCopies").Value) & " copies" & " - "
prix = (rsCopies("NbCopies").Value * rsCopies("PrixUnitaire").Value)
mess = mess & prix & " €"
TtCopies = TtCopies + rsCopies("NbCopies").Value
Cout = Cout + prix
lstStat.Items.Add(mess)
rsCopies.MoveNext()
End While

lstStat.Items.Add("....................................................")
mess = "Total Copies : " & TtCopies
mess = mess & " - " & "Coût : " & Cout & " €"
lstStat.Items.Add(mess)

End Sub


J'èspère que sa pourra t'aider !!
Messages postés
38
Date d'inscription
samedi 20 juin 2009
Statut
Membre
Dernière intervention
12 septembre 2011

Merci pour ton aide, je vais essayer ça et je te tiens au courant.

A+
Messages postés
38
Date d'inscription
samedi 20 juin 2009
Statut
Membre
Dernière intervention
12 septembre 2011

Bon, en essayant un peu j'ai fait ça :

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim rsClients As Recordset
        Dim Currentdb As Database
        rsClients = Currentdb.OpenRecordset("Select NOM, Prénom From Clients where nom='" & TextBox1.Text() & "*';")
        While Not rsClients.EOF
            ListBox1.Text = rsClients.Fields("Nom").Value() & " " & rsClients.Fields("Prénom").Value()
            rsClients.movenext()
        End While
        rsClients.Close()
    End Sub

Mais Recordset et Databas ne sont pas reconu (ils sont soulignés en rouge). Que faire ?
Ma base de données (où se trouve les données existantes) se nomme Clients.

Merci.
Messages postés
78
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
17 février 2011
1
dim db as database
(pas : dim currentdb as database)
db = dbe.OpenDatabase("K:\Clients.mdb")

sa tu le met au chargement de ton form et non au niveau du bouton !

je pense que c'est le problème !
Après je ne suis pas sur car j'ai plutôt l'habitude de travailler en VBA quand il y a utilisation de sgbd !!
Si ce n'est pas sa je ne sais pas !! désolé !
essaie toujours peut-être que c'est sa !!
Messages postés
38
Date d'inscription
samedi 20 juin 2009
Statut
Membre
Dernière intervention
12 septembre 2011

Je te remercie mais ça ne marche pas plus. Je vais essayé à taton et je finirai bien trouvé. Si t'as d'autres idées et un peu de temps encore à me consacrer c'est sympa, sinon pas grave je te remercie de ta rapidité à me répondre.

A bientôt, bon week end.