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 |
Partager