Sélection de données dans une base Access

Signaler
Messages postés
5
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
10 août 2013
-
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
-
Bonjour,

Je suis un débutant et je souhaite avoir un peu d'aide pour un projet de base de données access.

J'ai une Form1
Listbox1
Textbox1

Imports System.Data
Imports System.Data.OleDb


Public Class Form1

   
    Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data source= C:\Users\Milardi\Documents\Contacts.accdb")
    Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        Try
            Mycommand.CommandText = "SELECT NOM FROM CONTACTS"
            MyConnexion.Open()

        Catch ex As OleDbException

            MsgBox(ex.Message)

        End Try

        Dim myReader As OleDbDataReader = Mycommand.ExecuteReader()

        Do While myReader.Read()

            ListBox1.Items.Add(myReader.GetString(0))


        Loop

        myReader.Close()

        MyConnexion.Close()

    End Sub


    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

     



    End Sub
End Class


Je voudrais afficher les informations liées et restante sur la même table quand je clique sur le nom dans la listbox.

J'espère de j'ai été clair dans mes propos.

Merci d'avance.
--

1 réponse

Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
52
Salut
écris une requete parametrée

Private Function GetDetailsContact (ByVal ClientName As String)  as OleDbDataReader
        Dim sql As String = String.Empty
        Dim command As New OleDbCommand(sql, MyConnexion)
        Dim recordset As OleDbDataReader
        recordset = Nothing
        command.CommandText = "SELECT CHAMP1,CHAMP2,ETC   FROM  CONTACTS WHERE NOM = [?] ;"
        command.Parameters.Add("?", OleDbType.BSTR).Value = ClientName
        recordset = command.ExecuteReader()
        return recordset

 End Function

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 
ListBox1.SelectedIndexChanged

  Dim recordset As OleDbDataReader
  recordset =   GetDetailsContact (DirectCast(sender, ListBox).SelectedItem.ToString)

'ton recordset contient les données à propos de la personne

End Sub