Vous êtes sur la page 1sur 37

Enseignement Supérieur et Universitaire

INSTITUT SUPERIEURDE
SUPERIEURDE COMMERCE DE LUBUMBASHI
ISC/LSHI
B.P. : 1825
LUBUMBASHI

Département d’Informatique de Gestion

VISUAL BASIC 6.0


Support de cours destiné
aux étudiants de 2ème
graduat de l’année
académique 2013-2014

Par C.T.Emery Kalonji Muya


Informaticien-Statisticien

Mars 2014
2014
Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 2

OBJECTIFS
A la fin de ce cours l'étudiant sera à même d'effectuer les tâches
suivantes :
- Utiliser des formulaires et des contrôles pour créer une interface
utilisateur de qualité professionnelle
- Améliorer l'interface utilisateur en y ajoutant des menus, des
barres d'état et des barres d'outils
- Consulter et manipuler de données d'une base de données Access à
partir du VB 6.0
- Editer des états à partir du VB 6.0

PLAN DU COURS
- Chapitre I : Rappel sur les fondamentaux du langage basic
- Chapitre II : Les contrôles vb
- Chapitre III : Créer une base de données Access
- Chapitre IV : Manipuler une base de données Access à partir de VB

PREREQUIS
 Cours d’Algorithmique et méthodes de programmation
 Le langage Visual Basic I
Bibliographie

 Visual Basic 6: How to Program, H.M. Deitel, P.J. Deitel, T.R. Nieto,
Prentice Hall, Upper Saddle
 River, New Jersey 07458, 1015 pages, www.prenhall.com/deitel
 Visual Basic 6, Peter Wright, Eyrolles, 767 pages, www.eyrolles.com
 Visual Basic 6, M. Franke, Micro Application, Paris, 493 pages,
www.microapp.com
 Visual Basic 6 : Le guide du programmeur, G. Frantz, Edition OEM,
1272 pages, www.oemweb.com
 Programmer avec Visual Basic, Alain Godon, cours M2AI - ISTIA,
2001/2002, 28 pages
 Visual Basic version 5, Roland Guihur, oct. 1999, 47 pages
 Patrique KASONGA, Cours de VB, UPL, 2008-2009

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 3

1 CHAPITRE PREMIER
LES CONTROLES

1.1 Les étapes de programmation événementielle


En VB, le travail s’organise en trois étapes:
1. création de l'interface utilisateur ;
2. définition des propriétés des objets ;
3. écriture du programme ou des codes événementiels.

Les programmes Visual Basic sont commandés par les événements générés
par les objets de l'interface utilisateur à la suite d'un clic de souris, ou appui
sur une touche clavier.

1.2 L’interface de travail de Visual Basic 6.0 édition professionnelle


Lorsque Visual Basic 6 est installé sur votre ordinateur, vous pouvez le
démarrer comme tout programme en cliquant sur
- Bouton Démarrer/Tous les programmes/Ms Visual Basic 6.0
Ainsi l’interface de travail correspond aux fenêtres et contrôles que voit
l'utilisateur comme ci-après.

8
Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com
Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 4

1. Barre de menus (Fichier, Edition, ….)


2. Barre d’outils standards Visual Basic
3. Fenêtre boîte à outils (Label, Textbox, Boutons de commande, …)
4. Fenêtre Explorateur des projets
5. Fenêtre de Propriétés des objets
6. Fenêtre présentation des feuilles
7. Feuille ou Form (Formulaires) : Cette feuille située au centre, n'est autre que la
future interface graphique de votre application (appelé aussi "interface
utilisateur").
8. Fenêtre de code

Mais pour ceux qui n’ont pas Visual BAsic 6, vous pouvez démarrer l’Editeur
Visual basic sous Microsft office Word ou Excel 2003 en suivant la procédure ci-
après:
- Démarrer Word ou Excel
- Appuyer simultanément sur les
touches ALT+F11
- Cliquer ensuite sur Menu
Insertion\Userform.

1.3 Les contrôles standards

1.3.1 Feuille ou fromulaire (Form)


Le contrôle de base, absolument universel, en Visual Basic est la feuille, ou
formulaire, en anglais, Form.
Cet objet est incontournable ; on ne peut créer et utiliser d’autres objets
que si ceux-ci font partie d’une Form.

Les propriétés principales d'une Form sont:


Propriétés Signification
Name Définit le nom identifiant du formulaire à utiliser dans le code
BackColor Définit la couleur d'arrière-plan
Caption Définit le texte dans la barre de titre de la feuille

Les événements retenus par VB comme étant les plus probables pour une
Form sont Load (chargement) et Unload (déchargement)

Ses méthodes sont :


a) Show : C’est une méthode qui permet d’afficher un formulaire
Syntaxe : NomFormulaire.Show ;
b) Hide : C’est une méthode qui permet de masquer un formulaire

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2
G2 Info Jour/ISC-Lshi/2013-2014
Jour 5

Syntaxe : NomFormulaire.Hide ;

Comment Insérer un objet sur le formulaire?


− Double-cliquez
cliquez sur l'objet. Celui-ci
Celui ci se place au centre de la feuille. Ou
soit,
− Cliquez une fois sur l'objet et dessinez-le
dessinez le sur la feuille avec la souris.
Quand vous relâchez le bouton de la souris, le contrôle est placé.
Comment nommer les objets en VB ?
− Utiliser toujours un nom significatif pour chaque objet
− Utiliser le préfixe standard suggéré par le langage pour chaque objet
et ce, devant le nom proprement dit.

Voici quelques préfixes à utiliser pour nommer vos objets:


Contrôle
Cont Préfixe Exemple
Checkbox chk chk_sexe
Combobox cbo cbo_Pays
Command
button cmd cmd_Enregistrer
Form frm frm_Identite
Frame fra fra_Categorie
Image img img_Logoisc
Label lbl lbl_resultat
List Box lst lst_communes
Menu mnu mnu_Fichier
Text Box txt txt_nom

1.3.2 Le CommandButton"
Un bouton de commande,
commande lorsqu'on clique dessus, sert à exécuter la portion
de code écrite dans sa procédure est exécutée.
exécutée

Ses propriétés intéressantes sont :


Name : son identifiant
Caption : son étiquette
Visible : permet au Bouton de commande d'être visible ou invisible
Enabled : permet (valeur True) à un contrôle d’être actif, actif c’est-à-dire
de pouvoir recevoir des événements, et donc de déclencher des
procédures.
Exemple: Sub Command1_Click
Command1_ ()
Unload Me ' permet de décharger le formulaire actif
End Sub

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2
G2 Info Jour/ISC-Lshi/2013-2014
Jour 6

1.3.3 Le contrôle Label (Etiquette)


Un Label est un contrôle « inerte », qui
sert à afficher un texte sur une Form.
Par conséquent les labels ne peuvent
jamais servir à effectuer une saisie par
l’utilisateur.

La propriété par défaut d’un Label est la


propriété Caption.

1.3.4 Zone de texte ( TextBox )


Ill s’agit du seul contrôle permettant une
saisie au clavier par l’utilisateur.

Notons que toute information contenue


dans une zone de texte est
obligatoirement de type… texte !.

Ses propriétés sont : Text.


Text
 Text : fait référence au contenu de la zone de text
 Multiline : autorise ou non l’écriture sur plusieurs lignes
 Scrollbars : faitit figurer une barre de défilement horizontale ou verticale
(ou les deux)
 PasswordChar : crypte le texte entré par le caractère stipulé
(généralement, c’est *)
 MaxLength : limite le nombre de caractères qu’il est possible de saisir
dans la zone de texte.

L’événement par défaut d’un contrôle zone de texte est l’événement Change,
qui survient chaque fois que le contenu de la Zone de Texte est modifié. Cet
événement peut donc survenir :
soit parce que l'utilisateur a frappé un texte dans la zone (et dans
dan ce
cas, il provoque un événement Change à chaque nouveau caractère
frappé)

1.3.5 Le contrôle Zone de liste ( ListBox )


Le contrôle ListBoxaffiche
affiche une liste d'éléments (d'objets)
dans laquelle l'utilisateur peut faire un ou plusieurs choix.

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2
G2 Info Jour/ISC-Lshi/2013-2014
Jour 7

Propriétés
ListIndex : renvoie ou définit l’index de l’élément actuellement sélectionné.
En fait, en interne, VB gère les listes un peu comme des tableaux.
tableaux Il
attribue donc à chaque élément d’une liste un numéro d’index,
d’index ce
numéro commençant toujours à zéro.
List : renvoie (sous forme de texte) un élément d’une
liste en fonction de son index.
Exemples:
x = List1.ListIndex 'renvoie 1 car c'est Kamina qui est
sélectionné
Msgbox List1.List(2) ' affiche Likasi

ListCount : renvoie le nombre d’éléments d’une liste


(propriété numérique).
Ex.: n= List1ListCount 'renvoie 4 car il y a quatre villes dans la liste
Sorted : tri automatiquement les éléments d’une liste (classe(classe dans l'odre
alphabétique les éléments de la liste)
liste

1.3.6 Zone de liste modifiable ( ComboBox )


Un Combobox est une combinaison d’un
contrôle Zone de liste et d’un contrôle zone
de texte.

L’événement par défaut d’un contrôle Zone


de liste modifiable est l’événement Change.

a) Propriétés
La propriété par défaut d’un contrôle Zone
de liste modifiable est la propriété Text.

b) Méthodes pour Listbox et Combobox


b.1 AddItem (chaîne1, index1) : ajoute l'élément chaîne1 à une liste, en
spécifiant éventuellement son index (argument
facultatif)
b.2 RemoveItem (index1) : supprime l'élément d'index index1 de la liste
Clear : efface tous les éléments d’une liste

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2
G2 Info Jour/ISC-Lshi/2013-2014
Jour 8

N.B. : L’événement par défaut d’un contrôle Zone de liste modifiable


est l’événement Change.

1.3.7 Le contrôle Frame


Ce contrôle sert à regrouper plusieurs contrôles(checkbox, optionbutton,...)
dans un cadre avec un titre que vous pouvez modifier dans ses propriétés.
Cadre ( Frame )

1.3.8 Les contrôles cases à cocher


Il existe sous Windows deux sortes de cases :

les cases dites « cases à cocher » (CheckBox) . Elles sont carrées, et


indépendantes les unes des autres, même si elles sont regroupées dans
un cadre pour faire plus joli.
les cases dites « cases d’option » ou « boutons radio » (OptionButton)
(

. Elles sont rondes et font toujours partie d’un groupe (dessiné


par l’objet Frame).). Au sein d’un groupe de cases d’option, jamais plus
d’une seule case ne peut être cochée à la fois.

Propriétés
Value : permet de savoir si le bouton radio est coché ou non (true/false)
Value: permet de savoir si la case à cocher est cochée coché ou non (1
(Checked), 0 (Unchecked) .

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 9

1.3.9 Le contrôle Timer


Il s’agit du petit chronomètre situé
dans la barre de contrôles qui permet
de générer un événement à intervalle
régulier.
Le contrôle Timer, graphiquement
toujours invisible, va générer des
événements, des « tops », à une
cadence choisie par le programmeur,
qui déclencheront la procédure NomDuTimer_Timer(). Le programmeur
pourra donc mettre dans cette procédure tout ce qui doit se passer
indépendamment de ce que fera – ou ne fera pas - l’utilisateur.

La propriété essentielle d'un Timer est Interval. C'est elle qui fixe l'intervalle
entre chaque top, exprimé en millisecondes).
Préalable : Vérifier que le « Microsoft controls 6.0 est activé comme suit :

Exemple:
Concevoir l’interface VB correspondant aux spécifications suivantes :

Objet/contrôle Propriétés Valeur


Form Name Form1
Form2
Timer Name Timer1
Interval 200 (milliseconds)
Label Name Lbl1
Lbl2
ProgressBar Name ProgressBar1
Max 100
Image Name Image1

Code
Dim x as integer

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 10

Private Sub Timer1_Timer()


x=x+1
If x < 100 Then
ProgressBar1.Value = x
Lbl1.Caption = x & "%"
If x = 20 Then
Lbl2.Caption = "Etape 1: Initialisation."
Lbl2.FontSize = 10
Image1.Picture=LoadPicture("C:\Users\Stacie_M\Pictures\ordi1.jpg")
ElseIf x = 50 Then
Lbl2.Caption = "Etape 2: Inspection du système"
Image1.Picture = LoadPicture("C:\Users\Stacie_M\Pictures\ordi2.jpg")
Lbl2.ForeColor = vbRed
ElseIf x = 70 Then
Image1.Picture = LoadPicture("C:\Users\Stacie_M\Pictures\ordi3.jpg")
Lbl2.Caption = "Etape 3: Finalisation. Mise à jour de la base registre"
Lbl2.ForeColor = vbbleu
Lbl2.FontBold = True
End If
Else
Timer1.Enabled = False
Unload Me
Form2.Show
End If
End Sub

1.4 Les contrôles spéciaux

1.4.1 Le contrôle Calendar (calendrier)


Ce contrôle permet grâce à un calendrier de saisir des dates pour les utiliser dans
votre application.

Ajout du contrôle Calendar

Activer un Form dans le Visual Basic Editor.


- Faites un clic droit sur la boîte à outils et sélectionnez Contrôles
supplémentaires.
- Dans la liste déroulante, sélectionnez
Calendar Control 11.0 Microsoft.
- Cliquez sur OK pour fermer la boîte de
dialogue et ajoutez le contrôle
dans la boîte à outils.
La propriété Value permet de récupérer la valeur du contrôle calendar au clic de l'utilisateur

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 11

Exemple: Réalisez ce form

Private Sub Calendar1_Click ()


Text1.Text = Calendar1.Value
End Sub

1.4.2 Les Boîtes de dialogue (Ouvrir, Enregistrer)


Pour utiliser les boîtes de dialogue communes, il faut ajouter le contrôle CommonDialog dans
votre boîte à outils. :
- cliquez droit sur la boîte à outils
- Ensuite, sur "Composants"
- Cochez la case
- Ok

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 12

1.4.2.1 La boîte de dialogue Ouvrir


La boîte de dialogue "Ouvrir" permet d'ouvrir un fichier parmi tous ceux mémorisés sur votre
disque dur ou un support de masse quelconque.
Définition des propriétés de la boîte de dialogue "Ouvrir"
CMD1.DialogTitle =
"Ouvrir fichier"

CMD1.InitDir = "C:\"

CMD1.FilterIndex = 1

CMD1.CancelError = False
"
L’Ouverture d'un fichier avec la méthode ShowOpen
Ex.:= CMD1.ShowOpen
CMD1.Filter "Document texte (*.TXT)|*.TXT| Image GIF (*.gif)|*.gif| Tous (*.*)|*.*|"

Exemple
Concevoir cette interface qui permet d’ouvrir un fichier de type Txt et d’afficher son
contenu dans une zone de texte nommé Text1.

Ceci est le
contrôle
Voici le code Common Dialog

Private Sub Ouvrir_Click()


On Error Resume Next
CMD1.DialogTitle = "Ouvrir fichier"
CMD1.Filter = "Document texte (*.TXT)|*.TXT| Image GIF (*.gif)|*.gif| Tous (*.*)|*.*|"
CMD1.ShowOpen 'Ouverture d'un fichier avec la méthode ShowOpen

‘affichage du contenu dans textbox

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 13

texte = ""
Open CMD1.FileName For Input As #1
texte = Input(LOF(1), #1)
Close #1
Text1.Text = texte
End Sub

1.4.2.2 La boite de dialogue Enregistrer

La boîte de dialogue "Enregistrer sous" permet de sauvegarder un fichier ouvert.


Pour l'afficher, on fait appel à la méthode ShowSave.
Elle a les mêmes propriétés que celles de la boîte de dialogue "Ouvrir"
Exemple
Avec la même interface ci-dessus ajouter le code ci après pour le click sur menu
fichier/Enregistrer sous.

Private Sub Enregistrersous_Click()


'Définition des propriétés de la boîte de dialogue "Sauvegarder sous"
On Error Resume Next
CMD1.DialogTitle = "Sauvegarder sous"
CMD1.CancelError = False
CMD1.Filter = "Document texte (*.TXT)|*.TXT| Image GIF (*.gif)|*.gif| Tous (*.*)|*.*|"
CMD1.FileName = "Sans titre.TXT"

'Instruction pour ignorer les erreurs


'Ouverture d'un fichier avec la méthode ShowSave
CMD1.ShowSave

Open CMD1.FileName For Output As #1


Print #1, Text1.Text
Close #1
End Sub

1.4.3 Création des menus (Contrôles)


Un contrôle Menu affiche un menu personnalisé pour votre application. Un
menu peut inclure des commandes, des titres de sous-menus et des barres
de séparation. Vous pouvez créer des menus dans lesquels figurent jusqu'à
quatre niveaux de sous-menus

Pour créer un contrôle Menu, utilisez le Créateur


de menus: Cliquez sur Outils/Créateur de menus

Ou dans la barre d' outils de l'interface de VB, cliquez sur l'icône qui
représente un fichier

Entrez le nom du Menu dans la zone Caption.

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 14

Exemple pour avoir un Menu Démarrer avec 2 sous menus (Pourriture et


Capture) il faut le faire comme suit

Quelques options du créateur de menu


− Caption: permet d'entrer les noms de menu ou de commande qui
apparaîtront sur votre barre de menus ou dans un menu.
− Name: permet d'entrer un nom de contrôle pour l'élément de menu.

1.4.4 Création de menu contextuel (pop menu)


La création d'un popup menu se fait presque comme un système de menu:
- Créer un système de menu.
- Définissez ensuite, une action pour chaque commande du menu
contextuel.
Par la suite, il faut définir dans quelles conditions doit apparaître le menu
contextuel:
- Double-cliquez sur la feuille où est créé le système de menu et dans
la liste déroulante "événement", sélectionnez l'événement
"MouseDown".
- Entrez les instructions suivantes :

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As


Single), Y As Single
If (Button = 2) Then
PopupMenu [Nom de ton menu]
End if
End Sub
Cette procédure signifie que lorsqu'on clique sur le bouton droit de la souris,
le menu contextuel indiqué apparaît.

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2
G2 Info Jour/ISC-Lshi/2013-2014
Jour 15

La variable "Button" peut avoir les valeurs suivantes :


- Button = 1, pour
our que le menu contextuel apparaisse en cliquant sur le
bouton gauche de la souris
- Button = 2, pour que le menu contextuel apparaisse en cliquant sur le
bouton droit de la souris
- Button=4, pour
our que le menu contextuel apparaisse en cliquant sur le
bouton central de la souris;
souris

Enfin, revenez dans la boîte de


d dialogue "créateur de menu"
- et décochez la case "Visible" du menu que vous désirez rendre
contextuel.

Exemple:
Si tu as défini un système de menu ci
contre.

Private Sub Form_MouseDown(Button


As Integer, Shift As Integer, X_
X As
Single), Y As Single
If (Button = 2) Then
PopupMenu Mnucafe
End if
End Sub

Lancer le programme,, puis cliquez droit


sur le formulaire, alors ceci apparaitra

1.4.5 Le contrôle WebBrowser


Visual Basic permet la manipulation d’URL
d’ (Universal
Universal Resource Locators7)
à travers le contrôle WebBrowser pour afficher le contenu des pages
jpeg(image)). Ce même contrôle peut servir aussi
web(au format html, pdf, jpeg(image)).
d'afficher d'un document office (word ou excel). Ce dernier peut être

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 16

dorénavant enregistré au format html, sinon il apparaitra non pas dans


webbrower, mais dans l'application créateur (MS Word et MS Excel).

Procedure
- Créer un fichier Word et enregistrez-le au format HTM

- Dans Vb, ajouter le composant " Microsoft Internet Controls" sur la boîte à outil
- Tracer un webbrowser sur le formulaire. Nom par défaut webBrowser1
- Créer un Menu Fichier avec sun sous Menu "Ouvrir"
- Cliquer sur notre Menu fichier du formulaire puis sur le sous menu ouvrir et taper le
code suivant:
Code 1
Private Sub ouvrir_Click()
On Error Resume Next
CMD1.DialogTitle = "Ouvrir fichier"
CMD1.Filter = "Document Html |*.htm"
CMD1.ShowOpen
Call WebBrowser1.Navigate(CMD1.FileName)
End Sub

Code 2
Private Sub ouvrir_Click()
On Error Resume Next
CMD1.DialogTitle = "Ouvrir fichier"
CMD1.Filter = "Tous (*.*)|*.*"
CMD1.ShowOpen
Call WebBrowser1.Navigate(CMD1.FileName)
End Sub

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 17

2 CHAPITRE DEUXIEME
INTRODUCTION AUX BASES DES DONNEES ACCESS

2.1 Concepts de base sur la conception d'une base de données

Une base de données est un ensemble des données bien structurées et


regroupées dans une ou plusieurs tables.
Par exemple, vous pouvez utiliser une table qui stocke des informations sur
des produits et une autre table qui stocke des informations sur des
commandes et une autre encore contenant des informations sur les clients.
Exemple d'une table simple

Table: Employés
NumMatr Nom Adresse Téléphone Salaire
10223 H. Kalonda Katuba 0993456789 10 250
Une ligne
(Enregistrement) 897 M. Mauwa Ruashi 0816783425 9 823
567 T. Kongolo Lubumbashi 0853459807 15 234
1208 A. Tania Katuba 0997018036 7 852

Une colonne
(Champ)

Les lignes d’une table sont appelées des enregistrements (records), ou lignes
(rows). Dans l’exemple, la table EMPLOYES est constituée de 4
enregistrements. Chaque colonne d’une table représente un champ différent.

Les données constituant la base sont organisées en tables.


Une table contient des enregistrements (lignes) composés de différents
champs (colonnes).

Chaque Champ est associé à un type de données (Numérique, monétaire,


texte, date, ).

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 18

La clé primaire d’une table est un champ (ou un ensemble de champs) qui
identifie de manière unique chaque enregistrement dans la
table. Chaque table devrait avoir une clé primaire.

Une clé étrangère dans une table est un champ (ou un ensemble de
champs) qui fait référence à un champ (ou un ensemble de
champs) d’une autre table (généralement la clé primaire).

Les requêtes permettent d’interroger une base de données et d’en modifier


les informations.

En pratique, une base de données n'est créée qu'à l'aide d'un Système de
Gestion de Base de données (SGBD) qui est un logiciel. Dans le cadre de ce
cours, nous allons faire usage de MS ACCESS.

2.2 Comment créer une base des données Access ?

2.2.1 Démarrer Access


Le démarrage d'Access 2007 se fait comme suit:
- cliquer sur le bouton Démarrer dans la barre de tâche
- puis sur Tous les programmes/Microsoft Office/Ms Access 2007. Ou
Vous rechercher l’icône Microsoft Access 2007 dans votre menu

L'écran d'accueil d'Access 2007 s'affichera comme suit

Puis, vous allez procéder comme suit:

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 19

Cliquer sur Base de données vide pour créer, puis sur cette zone pour
saisir le nom de votre fichier Access comme illustré ci-après.

3 2
Cliquez ici pour
Saisissez ici le
pouvoir choisir
nom de votre Base
l’emplacement de votre
de données
Base de données

4
Cliquez sur ici
pour Créer votre
Base de données

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 20

Au clic sur Créer, la fenêtre suivante s'ouvre

9 4 5 6 7 8

Légende
1. Liste des objets principaux d'Access
2. La table (nommée par défaut Table1) en mode affichage
3. Bouton bascule, permettant d'afficher une table ou un objet Access en
différents modes
4. L'onglet Accueil
5. L’onglet "Créer" permettant de créer tout objet Access.
6. L'onglet Données externe permettant l'exportation ou importation des
données
7. L'Onglet de base de données, permettant l'accès aux commandes
relatives à la base de données
8. L’onglet Outils tables-création permettant de créer le(s) champ(s) clé et
les relations entre les tables
9. L’onglet Fichier permettant d’accéder aux tâches habituelles de
gestion des fichiers( enregistrer, imprimer, Options, ….)

Ce qu’il faut retenir est qu’une base des données Access est composés de
Table, Requête, formulaire, et Etat.

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 21

2.2.2 La création d'une table

Pour créer une table, il est préférable 1


d'utiliser le mode création de table, pour
ce faire :
- 1 Cliquer sur l'onglet "Créer"
- 2 Puis sur Création de table

En mode création, une fenêtre s'ouvre qui permet de définir la table champ
par champ, en précisant le nom du champ, le type de données et les
propriétésqu'il contient.

Choisir ici le type


de données

Taper ici le
nom du
champ

Définir ici les


propriétés du
champ
sélectionné

2.2.3 Ce qu’il faut retenir sur la création de champ :


− S’assurez toujours que le nom de champ soit court et ne comporte pas
d’espace, ou des signes de ponctuations.
− Ayez toujours un nom de champs qui ont des sens et non des noms de
champ comme X ou Y ou fffg etc.

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 22

2.2.4 Clé primaire


Chaque table doit avoir une clé primaire pour pouvoir différencier les
enregistrements. C’est-à-dire que chaque ligne d’enregistrement doit avoir
un identifiant qui lui différencie des autres enregistrements.

Ainsi pour définir un champ clé, il faut cliquez sur l'icône

Cliquez ici pour faire de ce champ


N°Matricule, une
2
clé primaire de cette table

Cliquez ici pour


placer votre curseur
1

La clé (encore appelée "clé primaire") identifie de manière unique chaque


enregistrement de la table.

Pour supprimer une clé, il faut sélectionner le champ et cliquer sur l'icône
de la clé ; cette icône fonctionne comme un commutateur. Notons enfin qu'il
ne peut y avoir qu'une seule clé par table.

2.2.5 Les types de données


Tous les SGBD offrent la possibilité de stocker du texte, de l'information
numérique, et des dates. Access propose les types de données suivants :

Type Propriétés Taille


Texte Le champ peut contenir n'importe < 256 caractères
quel caractère alphanumérique
(chiffre, lettre, signe de
ponctuation).
Mémo Le champ peut contenir n'importe < 65.536 caractères
quel caractère alphanumérique. Le
type mémo est réservé aux champs

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 23

de type texte susceptibles de


contenir plus de 255 caractères
Numérique Données numériques (non Entier (–32 768 et 32 767)
monétaires) susceptibles d'être Entier Long (–2.147.483.648 et 2.147.483.647)
utilisées dans des opérations Réel (–3,402823.1038 et 3,402823.1038)
mathématiques
Date/heure Données de date et/ou d'heure 8 octets
(pour les années comprises entre
100 et 9999)
Monétaire Données monétaires, présentées 8 octets
avec deux chiffres après la virgule,
et le symbole monétaire du pays
(€,$) selon la configuration de votre
système windows.
NuméroAuto Numérotation automatique, 4 octets (entier long)
séquentielle (commençant à 1) ou
aléatoire. Souvent utilisée pour
générer le code des enregistrements
Oui/non Variable booléenne (deux valeurs 1 bit
possibles uniquement)
Objet OLE Pour lier un objet extérieur, ou < 1 Go
incorporer un objet dans la base.
Souvent utilisé pour les données
multimédia. Peut servir pour tout
fichier binaire (document Word,
feuille de calcul Excel, etc.)
Lien Permet d'enregistrer des URL de < 2049 caractères
hypertexte sites web et des adresses de courrier
électronique

2.2.6 Les propriétés des champs


La partie inférieure de la fenêtre du mode création est intitulée "Propriétés
du champ". Ces propriétés se trouvent rassemblées dans l'onglet "Général".

La liste des propriétés d'un champ dépend du type de données choisi, mais
une propriété donnée peut apparaître pour des types de données différents.

Les principales propriétés sont :

- Taille du champ: Nombre des caractères pour le type texte, et pour les
numériques les tailles reprises dans le tableau suivant:
Précision
Valeur Description Taille
décimale
Octet Stocke les nombres entre 0 et 255 (pas de fractions). Aucune 1 octet
Décimal Stocke les nombres compris entre –1028 et 1028 28 2

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2
G2 Info Jour/ISC-Lshi/2013-2014
Jour 24

octets
Stocke les nombres compris entre –32 768 et 32 767 2
Entier Aucune
(pas de fractions). octets
(Valeur par défaut) Stocke les nombres compris
Entier 4
entre –2
2 147 483 648 et 2 147 483 647 (pas de Aucune
long octets
fractions).
Réel Stocke les nombres compris entre 4
7
Simple –3,402823.10
1038 et 3,402823.1038 octets
Stocke les nombres compris entre
–1,79769313486231
1,79769313486231.10–308 et –4,94065645841247.
Réel 10–324 8
15
Double pour les valeurs négatives et entre octets
4,94065645841247
4,94065645841247.10 –324 et 1,79769313486231.

10–308 pour les valeurs positives.

2.2.7 Saisir les données


Pour introduire des données dans une table, il faut l'ouvrir en mode "feuille
de données". Dans la fenêtre base de données (l'objet table étant
sélectionné), on peut :
• faire un doublele clic sur le nom de la table

• faire un clic droit sur le


nom dela
la table, et cliquer
sur "Ouvrir"

2.3 Création des relations

Pour créer une relation entre deux :


- Cliquez sur l'onglet "Outils de base de données"
- cliquez sur le bouton

du même nom
dans l'onglet Outils de
base de données.
données
- Une fenêtre du même
nom s'ouvre, qui nous
permet d'ajouter les
deux tables
- Si les deux tables
n'apparaissent pas,

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2
G2 Info Jour/ISC-Lshi/2013-2014
Jour 25

cliquez sur le bouton "Afficher la table".


- Double cliquez sur une table pour l'ajouter dans la fenêtre des
relations

Les relations entre toutes ces tables peuvent se présenter comme suit



Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 26

3 CHAPITRE TROISIEME
ACCES AUX BASES DES DONNEES A PARTIR DE VB

Les systèmes de bases de données permettent d'organiser les données de


manière à faciliter la demande de requêtes appropriées à la recherche des
données souhaitées.

Dans ce chapitre, nous abordons la gestion des bases de données


relationnelles. L’accès aux informations dans de telles bases, largement
utilisées, peut se faire dans l’environnement de Visual Basic via l’utilisation
de requêtesSQL (StructuredQueryLanguage, ce langage permet d’effectuer des
requêtes -de rechercher des informations satisfaisant un critère donné).

Dans Visual Basic, une table est manipulée comme un objet Recordset.

3.1 Les contrôles ADO Data Control 6.0 et DataGrid Control 6.0

3.1.1 Concepts
Visual Basic donne accès aux fichiers à travers le moteur de données
Microsoft Jet Engine, l'interface DAO (Data Access Object) et l'ODBC (Open
DataBaseConnectivity).

Les DAO (objets d'accès aux données) vous permettent d'utiliser un langage
de programmation pour gérer (extraire et manipuler) des données, ainsi que
les objets et la structure des bases de données locales ou distantes.

Avec un contrôle ADO Data Control mis en place (connecté à une table d’une
base de données), il est possible de lier à ce contrôle plusieurs contrôles, dits
dépendants, permettant l’affichage et la manipulation de données, le tableau
suivant liste quelques-uns de ces contrôles.

Ces contrôles dépendants sont liés au contrôle ADO Data Control via les
propriétés DataSource,DataFieldet éventuellement DataFormat, afin de
spécifier le nom du contrôle Data, un champ de la base de données, et
éventuellement le format des données.

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 27

Le contrôle ADO Data Control permet de connecter l’application à une


base de données, et rend possible la visualisation et la manipulation des
données par différents contrôles. Le contrôle DataGrid permet un accès aisé
à un enregistrement.

Le contrôle DataGrid affiche sous la


forme d’une table, et permet la manipulation
par un utilisateur, des données demandées à
partir d’une base de données.

Par défaut ces deux contrôles ne sont


présents sur la barre de contrôles.
Pour les ajouter:
- Cliquer sur Menu Projet/Composants
- Cochez surMicrosoft ADO Data Control 6.0 (OLEDB)et Microsoft
Data Grid Control 6.0 (OLEDB), sur une feuille, il est possible de
visualiser leurs propriétés.

Celles qui sont relatives au contrôle ADO Data Control sont, notamment,
accessibles via un clic à droite sur le contrôle, suivi d’une sélection de
Propriétés du contrôle ADODC, ce qui permet l’affichage d’une boîte de
dialogue, intitulée Pages de propriétés.

Prenons comme exemple la


feuille présentée par la figure
suivante. Sa construction se
fait en utilisant lescontrôles
ADO Data Control et DataGrid,
elle ne nécessite aucune
programmation pour établir
laconnexion avec, par exemple,
la table Tbl_Clientde la base de
données BD_CLIENT.mdb.

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 28

Les étapes suivantes permettent de créer une connexion à la base de


données DB_CLIENT.mdb (cette procédure se ramène à créer une source de
données OLE4 DB) :
1. Dans le cadre Source de la
connexion, sélectionner
l’option Utiliser une chaîne
de connexionet cliquer sur
le bouton Créer(Build) pour
afficher la boîte de dialogue 2
Data Link Properties(une
chaîne de connexion
comprend, notamment, le
fournisseur de la base de
données, la localisation et le
nom de la base de données).
Biblio.mdb est une base de
données de Microsoft Access.

2. Dans l’onglet
Fournisseur(Provider),
sélectionner Microsoft
Jet 3.51 OLE DB
Provider ou Microsoft
Jet 4.0 OLE DB
Provider selon le cas.

3. Dans l’onglet Connection, on introduit, dans le champ Select or


enter a databasename, le répertoire et le nom de la base de données.

4. Cliquer sur le bouton Tester Connexionafin de déterminer si la


connexion est établie.

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 29

5. Dans l’onglet
RecordSourcede la boîte de
dialogue Pages de
propriétés, sélectionner,
dans lechamp Type de
commande, 2 –
adCmdTablepour spécifier
qu’une table dans la base de
données vaêtre la source des
données. Sélectionner
Tbl_Client, dans le champ
Nom de procédure stockée ou
detable, pour spécifier que
les données seront
retrouvées à partir de la
table Tbl_Client dans la base de données.

Une fois la chaîne de connexion spécifiée, il reste, avant de pouvoir exécuter


l’application, à fixer les valeurs des propriétés comme indiquées dans le
tableau suivant :

Contrôle Propriété Valeur


Adodc1 Caption Accès à la table Client
DataGrid1 Datasource Sélectionner Adodc1
AllowUpdate Sélectionner False ou True pour empêcher ou
autoriser une modification par l'utilisateur

Soit à concevoir une petite application de gestion de stock illustrée par l'interface suivante:

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 30

LES ETAPES A SUIVRE.


2.1 Création de la BD
- Créer une base de données "STOCK"
- mode création, la Créer en table "DEPOT" ayant la structure suivante

! Ne pas oublier la clé primaire


- enregistrer la BD au format Access 2003
2.2 Création de l'interface utilisation
Créer l'interface VB ci-haut devant contenir les contrôles suivants:
Contrôle Propriétés
Menu Fichier Name: Fichier caption: Fichier
Avec un sous menus Ouvrir Name : Ouvir caption: Ouvrir
Un combobox Name: Cproduit
Deux textbox pour PU et QTE Name: TPU
Name: TQTE
Un Label pour la date Name: Ldate
Un calendar pour choix de la date Name: Calendar1

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 31

Un ADO pour connexion à la BD Name: ADOSAVE


Clic droit
Provider=Microsoft.Jet.OLEDB.4.0;
sur ADO
DataSource=STOCK.mdb
Recordsource:DEPOT

Un Datagrid pour afficher un aperçu des Name: Datagrid1


données de la table DEPOT Datasource:ADOSAVE

Un CommonDialog pour utiliser la boîte de Name:CMD1


dialogue ouvrir
Dans Projet/composants, cocher

Un webbrouser pour afficher un document Name: WebBrowser1


office(word, excel ou Htm)
Dans Projet/Références cocher ce qui suit

Puis dans Projet/Composants cocher

Six boutons de commande comme illustré ci- Caption: Afficher Calendrier


haut: Caption: Enregistrer
Caption: Rechercher
Caption: Modifier
Caption: Supprimer
Caption: Imprimer

Dataenvironnement Name: DataEnvironment1


Datareport pour Etat impression Name: DataReport1
Datasource: DataEnvironment1
DataMember:Command1

2.3 Saisie des codes événementiels


a) Afficher calendrier
Private Sub CmdAfficherCalendrier_Click()
Calendar1.Visible = True
End Sub

Private Sub Calendar1_Click()


Ldate.Caption = Calendar1.Value
Calendar1.Visible = False
End Sub

b) Ajout ou insertion d'un nouvel enregistrement

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 32

Private Sub cmdEnregistrer_Click()


ADOSAVE.Refresh
With ADOSAVE.Recordset
.AddNew
!produit = CPRODUIT.Text
!pu = TPU.Text
!qte = TQTE.Text
!dateachat = Calendar1.Value
.Update
End With
End Sub
c) Rechercher
Adodc1.Refresh
With Adodc1.Recordset
.MoveFirst
Do While Not .EOF
If !produit = CPRODUIT.Text Then
CPRODUIT = !produit
TPU = !pu
TQTE = !qte
Ldate = !dateachat
Exit Do
End If
.MoveNext
Loop
.Update
End With
End sub
d) Modifier
Sub cmdModifier_click()
ADOSAVE.Refresh
With ADOSAVE.Recordset
.MoveFirst
Do While Not .EOF
If !produit = CPRODUIT.Text Then
!produit = CPRODUIT
!pu = TPU
!qte = TQTE
!dateachat = Ldate
Exit Do
End If
.MoveNext
Loop
End With
End sub

e) Supprimer un enregistrement
Private Sub CmdSuprimer_Click()
Adsave.Refresh
With adosave.RecordSet
If (.EOF) and (.BOF) then
Msgbox "Pas d'enregistrement dans la table"

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 33

Exit
Else
.delete
.movenext
If .eof then .moveprevious
End if
End with

End Sub

f) Supprimer tous les enregistrements de la table


Private Sub SuprimeTout_Click()
Adosave.Refresh
With adosave.recorset
While Not .EOF
.Delete
.MoveNext
Wend
End Sub

3.1.2 Quitter application


Private Sub quitter_Click()
End
End Sub

3.2 Les états imprimés


Les états imprimés permettent de présenter les données de la BD sur un papier
comme en word. Ceci est rendu possible grâce aux concepteurs.

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 34

La procédure à suivre :
a) Ajout du concepteur Data Environnement:
- Cliquer sur le menu projet, et sélectionner Ajouter Data Environnement.

- Faire un clique-droit sur connection1


- Ajouter une commande (Command1 apparait par défaut)
- Cliquez droit sur Commad1 puis sur propriétés puis dans la zone source des données,
modifier les propriétés: Objet BD=Table et Nom objet=DEPOT

Après clic sur ok, le dataEnvironnement apparaitra comme suit

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 35

b) Ajout du Datareport:
- Cliquer sur le menu projet, et sélectionner Ajouter DataReport. Vous
aurez une fenêtre semblable à ceci

- Modifier les propriétés de Datareport comme suit

- Glisser les champs de Command1 du DataEnvironnement vers le


Datareport en Details(section1)
- Dans la zone entête d'état (section4) utiliser le clic droit pour insérer une
image(logo) ou un label pour saisir le nom de la société et autres détails.
c) Le code d'imprimer
Private Sub CmdImprimer_Click()

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 36

DataReport1.Show
End Sub

3.3 Le langage SQL

MOTS-CLES COMMENTAIRES EXEMPLES


SELECT Opérateur de projection, permettant de Affiche le nom et le prénom de tous les élèves
choisir les attributs à afficher
Suivi de noms d'attributs ou de * SELECT nomEleve, prenomEleve FROM
(indiquant tous les attributs) Eleves;
FROM Suivi d'une ou plusieurs noms de table. Affiche tous les articles (toutes les colonnes)
La SELECT * FROM Article;
présence de plusieurs tables réalise le
produit cartésien de ces tables.
WHERE Opérateur de sélection, qui permet de Affiche la désignation de tous les articles de la
choisir des n-uplets selon certains commande numéro 1258 Critère de jointure
critères (séparés par AND ou OR) SELECT Designation
FROM Article, Commande
Cet opérateur permet aussi de réaliser WHERE Article.numArt = Commande.numArt
des jointures, le plus souvent par AND numCom = 1258;
égalité des deux colonnes de sens Critère de sélection
identique dans les deux tables.
DISTINCT La clause DISTINCT permet Afficher toutes les villes où habite au moins un
d’éliminer les doublons : si dans le élève
résultat plusieurs n-uplets sont
identiques, un seule sera conservé. SELECT DISTINCT villeEleve
FROM Eleves
ORDER BY La clause ORDER BY permet de trier Afficher la liste des employés par salaire
les résultats par ordre croissant (ASC) décroissant
ou décroissant (DESC).
Le tri peut se faire sur un ou plusieurs SELECT nomEmpl, salaire FROM Employe
attributs. ORDER BY salaire DESC;
L’option ASC est prise par défaut pour
chacune des expressions citées. Afficher les élèves par ordre alphabétique du
nom puis du prénom

SELECT * FROM Eleves


ORDER BY nomEleve, prenomEleve;
' Les cotes sont obligatoires pour SELECT numArt FROM Article
entourer les chaînes de caractères et les WHERE couleur = ‘ROUGE’;
dates.
SELECT numEleve FROM Eleves
WHERE dateNaissance = '12/10/1980';
IN IN indique si la valeur est égale à l'une Liste des employés occupant la fonction de
de celles qui se trouvent entre programmeur, analyste ou développeur
parenthèses (peuvent être les résultats
d'une sous requête). SELECT nomEmpl, numEmpl FROM
On peut utiliser aussi NOT IN (la Employe
valeur n'est égale à aucune de celles de
la liste) WHERE fonction IN ('programmeur',
'analyste',

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com


Cours de Visual Basic 6/G2 Info Jour/ISC-Lshi/2013-2014 37

developpeur');
LIKE Permet de comparer une valeur avec Recherche tous les noms commençant par DE :
une chaîne non complète.
% désigne plusieurs caractères SELECT nomCom, prenomCom, rueCom
_ désigne un seul caractère quelconque FROM Commercants
(ou aucun) WHERE nomCom LIKE 'DE%';
BETWEEN Indique si une valeur est comprise Articles qui coûtent entre 10 et 20 euros inclus.
entre Select numArt, nomArt FROM Article
deux valeurs. Les extrêmes sont inclus WHERE prix BETWEEN 10 AND 20;
dans l'intervalle.

Par CT Emery Kalonji Contact : 0814052561, 0993282338 emerykalonji@gmail.com

Vous aimerez peut-être aussi