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
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.
Je m'y prends peut être mal car je ne connais pas tous les propriétés du datagridview1.
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
Voici tout le code .
Si vous pouviez m'aider et me signaler les quelques petits erreurs..
Merci .
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
Partager