PROGRAMMATION CLIENT-SERVEUR BY CEDRICK KWASIA ILANGA
CODE DETAIL [Link] connecté avec Ms Access
1. Connexion de l’interface [Link] avec une base de données Ms Access
Importation des bibliothèques qui permettent d’accéder à la base de données
Cette ligne permet d’accéder aux classes de base pour gérer les
Imports [Link]
Imports [Link]
données (comme les tables, les colonnes, les lignes, etc.)
Elle sert à utiliser OleDb, une bibliothèque qui permet de se
connecter à des BD comme Ms Accesse via OLE DB
Création d’une variable de récupération de chemin d’accès à la base de données
Dim chemin As String = "Provider=[Link].12.0;Data Source=C:\
Users\Ir_Mk_Remy\Documents\[Link];Persist Security
Info=False"
Cette ligne crée une variable nommée « chemin » contenant la chaine de connexion à une base de données
Access
Ouverture de la base de données et accès à la table concernée
Sub ACTUALISER()
On Error Resume Next
Dim connection As OleDbConnection = New OleDbConnection(chemin)
Dim requete As String = "select *From tCLIENT"
Dim COM As OleDbCommand = [Link]()
[Link] = requete
[Link] = [Link]
[Link]()
Dim Table As DataTable = New DataTable()
Dim da As OleDbDataAdapter = New OleDbDataAdapter(COM)
[Link](Table)
[Link] = Table
[Link]()
[Link]()
End Sub
Le but de ce code est de charger les données de la table « NomTable » et les afficher dans un DataGridView
p. 1
PROGRAMMATION CLIENT-SERVEUR BY CEDRICK KWASIA ILANGA
2. Codification des boutons de commande
Bouton enregistrer pour une interface qui se connecte à une table qui n’a aucune clé
étrangère
Sub ENREGISTRER()
Try
Dim Reps As String = MsgBox("Voulez-vous enregistrer?", vbQuestion +
vbYesNo, "Enregister")
If Reps = vbYes Then
Dim connection As OleDbConnection = New OleDbConnection(chemin)
[Link]()
Dim cmd As OleDbCommand = [Link]()
[Link] = "Insert into
tCLIENT(NOMCL,POSTNOMCL,PRENOMCL,ADRESSECL,CONTACTCL) values ('" + [Link] +
"','" + [Link] + "','" + [Link] + "','" + [Link] + "','"
+ [Link] + "')"
[Link]()
MsgBox("Enregistrement reussi", vbInformation, "ENRESTRER")
ACTUALISER()
EFFACER()
End If
Catch ex As Exception
MsgBox(" CE NUMERO EST DEJA EFFECTUER, VEUILLEZ MODIFIER SON NUMERO ET
ENREGISTRER DE NOUVEAU SVP!!!")
End Try
End Sub
Bouton enregistrer pour une interface qui se connecte à une table qui contient au
moins une clé étrangère du type entier
Sub ENREGISTRER()
Try
Dim Reps As DialogResult = MsgBox("Voulez-vous enregistrer ?",
vbQuestion + vbYesNo, "Enregistrer")
If Reps = vbYes Then
Using connection As New OleDbConnection(chemin)
[Link]()
Using cmd As OleDbCommand = [Link]()
'Construction de la requête avec des paramètres
[Link] = "insert into tCOMMANDE
(DATECOM,QTECOM,OBSERVATION,NUMPROD,NUMCL) VALUES (?,?,?,?,?)"
'Ajout des valeurs avec validation des entiers
[Link]("?", CDate([Link]))
[Link]("?", CInt([Link]))
[Link]("?", [Link])
'Déclaration des variables du type entier pour recuperer
les valeurs du type chaine des caractères
Dim NumProd As Integer
Dim NumCl As Integer
If [Link]([Link], NumProd) AndAlso
[Link]([Link], NumCl) Then
p. 2
PROGRAMMATION CLIENT-SERVEUR BY CEDRICK KWASIA ILANGA
[Link]("?", NumProd)
[Link]("?", NumCl)
[Link]()
MsgBox("Enregistrement réussi", vbInformation,
"ENREGISTRER")
ACTUALISER()
EFFACER()
Else
MsgBox("NUMPROD ou NUMCL invalide(s)", vbExclamation,
"Erreur")
End If
End Using
End Using
End If
Catch ex As Exception
MsgBox("CE NUMERO EST DEJA ENREGISTRE, VEUILLEZ MODIFIER SON NUMERO ET
ENREGISTRER DE NOUVEAU SVP !!!", vbCritical, "Erreur")
End Try
End Sub
Accès au sous-programme « Sub ENREGISTRER ( ) »
If [Link] = "" Then
Exit Sub
Else
ENREGISTRER()
End If
Pour faire la modification ou la suppression de données, vous devez programmer en deux
niveaux :
Remonter les valeurs de DataGridView sur les zones de saisie
Try
[Link] = [Link](0, [Link]).[Link]
[Link] = [Link](1, [Link]).[Link]
[Link] = [Link](2, [Link]).[Link]
[Link] = [Link](3, [Link]).[Link]
[Link] = [Link](4, [Link]).[Link]
[Link] = [Link](5, [Link]).[Link]
Catch ex As Exception
End Try
Bouton modifier
p. 3
PROGRAMMATION CLIENT-SERVEUR BY CEDRICK KWASIA ILANGA
Sub modifier()
Try
Dim Reps As DialogResult = MsgBox("Voulez-vous modifier ?", vbQuestion
+ vbYesNo, "Modification")
If Reps = vbYes Then
Using connection As New OleDbConnection(chemin)
[Link]()
Dim ValNUMCLIENT As Integer
If [Link]([Link], ValNUMCLIENT) Then
Using cmd As OleDbCommand = [Link]()
[Link] = "update tCLIENT SET NOMCL = ?,
POSTNOMCL = ?, PRENOMCL = ?, ADRESSECL = ?, CONTACTCL = ? where NUMCL = ?"
[Link]("?", [Link])
[Link]("?", [Link])
[Link]("?", [Link])
[Link]("?", [Link])
[Link]("?", [Link])
[Link]("?", [Link])
[Link]()
MsgBox("Modification réussie", vbInformation,
"Modification")
End Using
Else
MsgBox("NUMPROD invalide", vbExclamation, "Erreur")
End If
End Using
ACTUALISER()
EFFACER()
End If
Catch ex As Exception
MsgBox("Erreur : " & [Link], vbCritical, "Erreur")
End Try
End Sub
Bouton supprimer
Sub SUPPRIMER()
Dim Reps As DialogResult = MsgBox("Voulez-vous supprimer ?", vbQuestion +
vbYesNo, "Suppression")
If Reps = vbYes Then
Try
Using connection As New OleDbConnection(chemin)
[Link]()
Dim ValNumCL As Integer
If [Link]([Link], ValNumCL) Then
Using cmd As OleDbCommand = [Link]()
[Link] = "DELETE FROM tCLIENT WHERE NUMCL
= ?"
[Link]("?", ValNumCL)
Dim rowsAffected As Integer = [Link]()
If rowsAffected > 0 Then
MsgBox("Suppression réussie", vbInformation,
"Suppression")
Else
p. 4
PROGRAMMATION CLIENT-SERVEUR BY CEDRICK KWASIA ILANGA
MsgBox("Aucun enregistrement trouvé",
vbExclamation, "Suppression")
End If
End Using
Else
MsgBox("Numéro du client invalide", vbExclamation,
"Erreur")
End If
End Using
ACTUALISER()
EFFACER()
Catch ex As Exception
MsgBox("Erreur : " & [Link], vbCritical, "Erreur")
End Try
End If
End Sub
3. Charger les valeurs de la clé primaire dans le combo Box de la clé étrangère
Sub CHARGECOMBOXCLIENT()
On Error Resume Next
Dim connection As OleDbConnection = New OleDbConnection(chemin)
Dim requete As String = "select * From tCLIENT"
Dim COM As OleDbCommand = [Link]()
[Link] = [Link]
[Link] = requete
[Link]()
Dim Table As DataTable = New DataTable()
Dim da As OleDbDataAdapter = New OleDbDataAdapter(COM)
Dim dr As OleDbDataReader = [Link]
[Link]()
[Link]()
While ([Link])
[Link]([Link](1))
[Link](dr.GetInt32(0))
End While
[Link]()
[Link]()
[Link]()
End Sub
NB : Tous les restes de code seront complétés tout au long des enseignements dans
l’auditoire.
p. 5