Bonsoir , je suis en train de faire un petit "projet" ou programe VB+ excel comme base de donnée qui affiche , édite et fait la gestion d'un cabinet médicale et de manière très basique

Nom : cabinet.PNG
Affichages : 601
Taille : 109,1 Ko

Comme vous le voyez , le datagrid view m'affiche l'ensemble des noms , prénoms et données de chaque "patients" alors que je veux qu'il m'affichque que ceux qui seront selection avec le bouton suivant et recherche. parce que certains patients ont fait plusieurs consultations.

j'ai donc essayer de faire un while en comparaisant , la clé "Num du patient" et la clé étrangère du même patient situer dans la tâble des consultations , mais je peine a faire cela.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Sub afficheCour()
        While dtPat.Rows(numligne).Item(0) <> DataGridView1.Rows(1).Cells(2).Value
            DataGridView1.DataSource = dtCons
        End While
    End Sub
Je m'y prends peut être mal car je ne connais pas tous les propriétés du datagridview1.
Voici tout le code .
Si vous pouviez m'aider et me signaler les quelques petits erreurs..
Merci .

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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Imports System.Data.OleDb
Public Class Form1
    Dim Cnx As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Kane\Desktop\Cabinet Medical\Cabinet Medical.mdb")
    Dim daPat As New OleDbDataAdapter("Select * From Patients", Cnx)
    Dim daCons As New OleDbDataAdapter("Select * From Consultations", Cnx)
    Dim daMed As New OleDbDataAdapter("Select * From Medicaments", Cnx)
    Dim daCont As New OleDbDataAdapter("Select * From Contient", Cnx)
    Dim dst As New DataSet
    Dim dtPat As DataTable
    Dim dtMed As DataTable
    Dim dtCons As DataTable
    Dim dtCont As DataTable
    Dim numligne As Integer
    Dim NumPtnt As Long
    Sub affichePat()
        TextNumPat.Text = dtPat.Rows(numligne).Item(0)
        TextNom.Text = dtPat.Rows(numligne).Item(1)
        TextPre.Text = dtPat.Rows(numligne).Item(2)
        TextSex.Text = dtPat.Rows(numligne).Item(3)
        TextDne.Text = dtPat.Rows(numligne).Item(4)
        TextProf.Text = dtPat.Rows(numligne).Item(5)
        TextAds.Text = dtPat.Rows(numligne).Item(6)
    End Sub
    Sub afficheCour()
        While dtPat.Rows(numligne).Item(0) <> DataGridView1.Rows(1).Cells(2).Value
            DataGridView1.DataSource = dtCons
        End While
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            Cnx.Open()
            numligne = 0
            daPat.Fill(dst, "Patients")
            dtPat = dst.Tables("Patients")
            daCons.Fill(dst, "Consultations")
            dtCons = dst.Tables("Consultations")
            affichePat()
            DataGridView1.DataSource = dtCons
            MsgBox(DataGridView1.CurrentCell)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub BtnSuiv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSuiv.Click
        numligne += 1
        If numligne = dtPat.Rows.Count Then
            numligne = 0
        End If
        affichePat()
    End Sub
 
    Private Sub BtnPrec_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPrec.Click
        numligne -= 1
        If numligne < 0 Then
            numligne = dtPat.Rows.Count - 1
        End If
        affichePat()
    End Sub
 
    Private Sub BtnPrem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPrem.Click
        numligne = 0
        affichePat()
    End Sub
 
    Private Sub BtnDern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDern.Click
        numligne = dtPat.Rows.Count - 1
        affichePat()
    End Sub
End Class
Merci