Vous êtes sur la page 1sur 5

Université Ibn Zohr

Ecole Supérieure de Technologie – Guelmim


Prof. Y.ASIMI Durée 1h30

Filière: DUT-Informatique / S4
 Examen – Session normale-- 
DS-N 1 : Visual Basic -VBA-
I. Questions du cours
I.1. Citer les objets primordiaux pour réaliser une connexion en mode connecté en expliquant
le rôle de chaque objet ;
I.2. Donner l’intérêt d’utiliser l’objet SqlDataAdapter dans une connexion en mode
déconnecté ;
I.3. Décrire la différence entre une variable par valeur et par référence en donnant un exemple
pour chaque cas ;
I.4. Décrire l’objectif d’utilisation d’une fonction de hachage dans une application VBA.
I.5. Citer les 3 types d'accès à la base de données en donnant les objets nécessaires pour
réaliser chaque type d’accès ;
I.6. Expliquer le rôle et le contexte d’utilisation d’un objet DataSet.
II. Exercices
II.1. Écrire un programme qui permet de saisir un entier naturel N≥2 et d’afficher son plus petit
diviseur premier.
II.2. Ecrire un programme en VB qui déclare une structure nommée «Etudiant». Il devrait
être structuré comme suite :
1) Déclare une structure nommée «Etudiant » ;
2) Définir un tableau des éléments structurés ;
3) Saisir des informations de plusieurs étudiants :
 Code: Code d’un étudiant;
 Nom: Nom d’un étudiant ;
 Prenom: Prénom d’un étudiant ;
 Filiere: Filière d’un étudiant;
 Notes: Quatre notes propres à chaque un étudiant.
 Moyenne: Moyenne des notes d’un étudiant;
 DateN: Date de validation d’un enregistrement propre à un étudiant.
II.3. fonction

III. Gestion des clients d’un service


Après l'accomplissement de toutes les étapes d'inscription, nous abordons dans cette partie
la gestion des informations propres à chaque client. L’idée est de créer un espace d’échange et
d’analyse entre les administrateurs de gestions et les clients d’une entreprise donnée.
Premièrement, on doit créer une table nommée «Client»:

Année Universitaire 2019/2020 Page 1


Université Ibn Zohr
Ecole Supérieure de Technologie – Guelmim
Prof. Y.ASIMI Durée 1h30

Pour accéder aux champs de cette table, nous créons un formulaire nommée « Client » qui
doit contenir les éléments suivants :
 Les Labels pour nommer les champs de saisis ;
 Les TextBox pour saisir les valeurs de ces champs (nommés TB1.Text,
TB2.Text, …. TB6.Text );
 Les Boutons pour la gestion des informations propres à chaque client ;
 La Grille (nommée DataGridView1) pour afficher les informations propres à
chaque client ;
Notre application est formulée comme suite :

III.1. Fonction remplirGri()


Le principe de la science dit : il ne faut pas recréer la route. Ainsi, pour des taches
redondantes, on doit implémenter des fonctions, puis, on fait appel à ces fonctions dans le code
d’application. Dans l’intérêt de faciliter la rédaction et l’évolution de notre système, nous
implémentons une fonction nommée « remplirGri() » qui a pour objectif la mise à jour et la
remplissage de la grille après toutes modifications au niveau de la table « client ». Cette fonction
s’articule comme suite :
Private Sub remplirGri()
On Error GoTo gestionerreure
Dim i As Integer
i = 0
Dim cmdString As String = " ………………………………………………………."
Dim connString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source
=C:\Users\Student\Desktop\BDVB.accdb"
Dim myConnection As OleDbConnection = New OleDbConnection(connString)
' Open connection
myConnection.Open()
'Create OleDbCommand object
Dim TheCommand As OleDbCommand = New OleDbCommand(cmdString, myConnection)
TheCommand.CommandType = CommandType.Text

Année Universitaire 2019/2020 Page 2


Université Ibn Zohr
Ecole Supérieure de Technologie – Guelmim
Prof. Y.ASIMI Durée 1h30

' Create a DataReader and call Execute on the Command Object to construct it
Dim reader1 As ……………………………………………………….
……………………………………………………….
While ……………………………………………………….
……………………………………………………….
……………………………………………………….
………………………………………………………. …..
i = i + 1
End While
myConnection.Close()

Exit Sub
gestionerreure:
End Sub

III.2. Bouton load


Ce bouton implémente la fonction « remplirGri() » lors de l’exécution de l’application:
Private Sub Client_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
……………………………………………………….
End Sub

III.3. Bouton Ajouter


Ce bouton permet l’ajout des informations propres à un nouvel client :
Private Sub BtAdd_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtAdd.Click
Dim i As Integer
i = 0
Dim cmdString As String = " ……………………………………………………….
……………………………………………………….
……………………………………………………….
Dim connString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source
=C:\Users\Student\Desktop\BDVB.accdb"
Dim myConnection As OleDbConnection = New OleDbConnection(connString)
Dim TheCommand As OleDbCommand = New OleDbCommand(cmdString, myConnection)
TheCommand.CommandType = CommandType.Text
Try
If ……………………………………………………….
……………………………………………………….
End If
……………………………………………………….
……………………………………………………….
Catch ex As Exception
MsgBox(ex.ToString)
myConnection.Close()
Exit Sub
End Try
End Sub

III.4. Bouton Supprimer


Suite au numéro du client, ce bouton permet de supprimer une ligne de la base de données
et de la grille:
Private Sub BTSupprimer_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTSupprimer.Click
Dim cmdString As String = " ………………………………………………………. "

Année Universitaire 2019/2020 Page 3


Université Ibn Zohr
Ecole Supérieure de Technologie – Guelmim
Prof. Y.ASIMI Durée 1h30

Dim connString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source


=C:\Users\Student\Desktop\BDVB.accdb"
Dim myConnection As OleDbConnection = New OleDbConnection(connString)
Dim TheCommand As OleDbCommand = New OleDbCommand(cmdString, myConnection)
TheCommand.CommandType = CommandType.Text
Try
If ……………………………………………………….
End If
……………………………………………………….
……………………………………………………….
Catch ex As Exception
MsgBox(ex.ToString)
End Try
remplirGri()
myConnection.Close()
Exit Sub
End Sub

III.5. Bouton Modifier


Après la sélection d’une ligne donnée par l’utilisation du bouton Selection, ce bouton se
charge de la modification de cette ligne au niveau de la base données et aussi dans la grille:
Private Sub BTModifier_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTModifier.Click
Dim cmdString As String = "……………………………………………………….
……………………………………………………….
……………………………………………………….
………………………………………………………. "
Dim connString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source
=C:\Users\Student\Desktop\BDVB.accdb"
Dim myConnection As OleDbConnection = New OleDbConnection(connString)
'Create OleDbCommand object
Dim TheCommand As OleDbCommand = New OleDbCommand(cmdString, myConnection)
TheCommand.CommandType = CommandType.Text
Try
If
……………………………………………………….
End If
"……………………………………………………….
……………………………………………………….
Catch ex As Exception
MsgBox(ex.ToString)
End Try
remplirGri()
myConnection.Close()
End Sub

III.6. Bouton Vider


Il vide tous les textbox pour la saisie des informations d’un autre client:
Private Sub BTVider_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTVider.Click
"……………………………………………………….
……………………………………………………….
End Sub

III.7. Bouton Sélectionner


Il sélectionne une ligne suite à un indice donné à partir de la grille :

Année Universitaire 2019/2020 Page 4


Université Ibn Zohr
Ecole Supérieure de Technologie – Guelmim
Prof. Y.ASIMI Durée 1h30

Private Sub BTSelectionner_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles BTSelect.Click
Dim ind As Integer
ind = "……………………………………………………….
……………………………………………………….
End Sub

Bonne chance

Année Universitaire 2019/2020 Page 5

Vous aimerez peut-être aussi