je viens de terminer un petit exemple de projet vb et access,le programme connecte la base mais je ne peux pas faire ajouter d'autre enregsitrements. le nom de ma base:service, j'ai deux bouton ajouter et valider.j'ai besoin d'aide.merciii.voici le code:

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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.VisualBasic
Public Class Form1
    Inherits System.Windows.Forms.Form
    'declaration des variables
    Private Cnx As OleDbConnection
    Private Cmd As OleDbCommand
    Private dta As OleDbDataAdapter
    Private cmdb As OleDbCommandBuilder
    Private dts As New DataSet
    Private dtt As DataTable
    Private dtc As DataColumn
    Private dtr As DataRow
    Private rownum As Integer
    Private Conn As String
    Private Sql As String
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'ouverture de la connection
        Try
            Me.Conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\service.mdb"
            Me.Cnx = New OleDbConnection
            Cnx.ConnectionString = Conn
            Cnx.Open()
 
            Me.Sql = " select bureau.* from bureau"
 
 
            Cmd = New OleDbCommand(Sql)
            Me.dta = New OleDbDataAdapter(Me.Sql, Me.Cnx)
            'Mise à jour automatique des autres requêtes de dta
            Me.cmdb = New OleDbCommandBuilder(Me.dta)
 
            Cmd.Connection() = Cnx
            'chargement du dataset à partir du data adapter
            dta.Fill(dts, "bureau")
            'chargement de la data table à partir dataset
            dtt = dts.Tables("bureau")
        Catch ex As Exception
            MessageBox.Show(ex.Message, Me.Text)
 
        End Try
        'si la table est vide
        If rownum > dtt.Rows.Count - 1 Then
            Me.Show()
            Me.Numero.Focus()
        Else
            Me.Numero.Text = dtt.Rows(rownum).Item("Numero")
            Me.Objet.Text = dtt.Rows(rownum).Item("Objet")
            Me.DateRec.Text = dtt.Rows(rownum).Item("DateReçu")
            Me.Origine.Text = dtt.Rows(rownum).Item("Origine")
            Me.Code.Text = dtt.Rows(rownum).Item("Code_Origine")
            Me.Operation.Text = dtt.Rows(rownum).Item("Operation")
            Me.DateOperation.Text = dtt.Rows(rownum).Item("DateOperation")
            Me.ComboSec.Text = dtt.Rows(rownum).Item("Section")
 
 
 
 
        End If
    End Sub
 
    Private Sub ButFerm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButFerm.Click
        Application.Exit()
    End Sub
 
    Private Sub ButAjouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButAjouter.Click
        If ButAjouter.Text = "Ajouter" Then
            'desativation des boutons de déplacement
            Bpr.Enabled = False
            Bprec.Enabled = False
            Bsui.Enabled = False
            Bder.Enabled = False
            'activation du bouton valider
            ButVal.Enabled = True
            Me.Numero.Text = ""
            Me.Objet.Text = ""
            Me.DateRec.Text = ""
            Me.Origine.Text = ""
            Me.Code.Text = ""
            Me.Operation.Text = ""
            Me.DateOperation.Text = ""
            Me.ComboSec.Text = ""
            'changement du text du bouton pour l'annulation de la procedure
            Me.ButAjouter.Text = "Annuler"
 
        Else
            If rownum > dtt.Rows.Count - 1 Then
                ButVal.Enabled = False
                ButAjouter.Text = "Ajouter"
            Else
                rownum = 0
                Me.Numero.Text = dtt.Rows(rownum).Item("Numero")
                Me.Objet.Text = dtt.Rows(rownum).Item("Objet")
                Me.DateRec.Text = dtt.Rows(rownum).Item("DateReçu")
                Me.Origine.Text = dtt.Rows(rownum).Item("Origine")
                Me.Code.Text = dtt.Rows(rownum).Item("Code_Origine")
                Me.Operation.Text = dtt.Rows(rownum).Item("Operation")
                Me.DateOperation.Text = dtt.Rows(rownum).Item("DateOperation")
                Me.ComboSec.Text = dtt.Rows(rownum).Item("Section")
                ButAjouter.Text = "Ajouter"
                ButVal.Enabled = False
                Bpr.Enabled = True
                Bprec.Enabled = True
                Bsui.Enabled = True
                Bder.Enabled = True
                ButMod.Enabled = True
                ButSup.Enabled = True
 
            End If
 
        End If
    End Sub
 
    Private Sub ButVal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButVal.Click
        'si un champ n'est pas rempli fin de la procedure
        If Me.Numero.Text = "" Or _
            Me.Objet.Text = "" Or _
            Me.DateRec.Text = "" Or _
            Me.Origine.Text = "" Or _
            Me.Code.Text = "" Or _
            Me.Operation.Text = "" Or _
            Me.DateOperation.Text = "" Or _
            Me.ComboSec.Text = "" Then
            MessageBox.Show("Vous devez remplir tous les chams!", "Erreur...", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Me.Numero.Focus()
            Exit Sub
        End If
        'creature d'une nouvelle ligne avec les données des texbox
        dtr = dts.Tables("bureau").NewRow
        dtr("Numero") = Me.Numero.Text
        dtr("objet") = Me.Objet.Text
        dtr("DateReçu") = Me.DateRec.Text
        dtr("Origine") = Me.Origine.Text
        dtr("Code_Origine") = Me.Code.Text
        dtr("Operation") = Me.Operation.Text
        dtr("DateOperation") = Me.DateOperation.Text
        dtr("Section") = Me.ComboSec.Text
        'ajout de la ligne dans le DataSet
        dts.Tables("bureau").Rows.Add(dtr)
 
        'création et exécution du commandbuilder
        'pour mettre à jour le DataAdapter
        cmdb = New OleDbCommandBuilder(dta)
 
        'mise à jour des données du DataAdapter
        'à partir du commandbuilder
        Try
            dta.Update(dts, "bureau")
        Catch ex As Exception
            MessageBox.Show(ex.ToString())
 
        End Try
        'on vide le dataset pour le recréer avec 
        'les nouvelles données 
        dts.Clear()
        dta.Fill(dts, "bureau")
        dtt = dts.Tables("bureau")
        'aller au debut du fichier
        rownum = 0
        Me.Numero.Text = dtt.Rows(rownum).Item("Numero")
        Me.Objet.Text = dtt.Rows(rownum).Item("Objet")
        Me.DateRec.Text = dtt.Rows(rownum).Item("DateReçu")
        Me.Origine.Text = dtt.Rows(rownum).Item("Origine")
        Me.Code.Text = dtt.Rows(rownum).Item("Code_Origine")
        Me.Operation.Text = dtt.Rows(rownum).Item("Operation")
        Me.DateOperation.Text = dtt.Rows(rownum).Item("DateOperation")
        Me.ComboSec.Text = dtt.Rows(rownum).Item("Section")
        'activation des boutons
        Bpr.Enabled = True
        Bprec.Enabled = True
        Bsui.Enabled = True
        Bder.Enabled = True
        ButMod.Enabled = True
        ButSup.Enabled = True
        ButAjouter.Text = "Ajouter"
 
 
    End Sub
End Class