Académique Documents
Professionnel Documents
Culture Documents
VB Maitrise PDF
VB Maitrise PDF
Plan du cours
I.
Objectifs
http://eric.univ-lyon2.fr/~jdarmont/
Plan du cours
! I.
Objectifs
http://eric.univ-lyon2.fr/~jdarmont/
Objectifs de lanne
Raliser un projet informatique en Visual
Basic avec accs une base de donnes Access
Organisation :
Par groupes de 2
5 sances de TD classiques
5 sances consacres uniquement au projet
valuation :
Dmo
Rapport crit
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
Rgles du jeu
Le projet doit porter sur un cas rel concernant
personnellement au moins un des tudiants
Choix de sujet motiv rendre le 20 octobre
Base de donnes :
5 tables minimum
1 relation 1-N et 1 relation M-N minimum
Suffisamment de donnes pour effectuer des tests
10 requtes minimum (au moins 3 jointures, 3 groupements,
2 restrictions multicritres, 2 requtes paramtres)
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
Rgles du jeu
Application Visual Basic : Interface qui doit
permettre de
VB/BD
Consulter
Traiter
Ajouter
Supprimer
Mettre jour
http://eric.univ-lyon2.fr/~jdarmont/
Rgles du jeu
Rapport crit :
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
Plan du cours
I.
Objectifs
http://eric.univ-lyon2.fr/~jdarmont/
http://eric.univ-lyon2.fr/~jdarmont/
10 11 12
Adresse
...
1 octet
http://eric.univ-lyon2.fr/~jdarmont/
http://eric.univ-lyon2.fr/~jdarmont/
10
Types de donnes
Entiers :
Byte (1 octet, [0, 255])
Integer (2 octets, [-32768, +32767])
Long (4 octets, [-2147483648, +2147483647])
Rels :
Single (4 octets, [-3,402.1038, + 3,402.1038])
Long (8 octets, [- 1,797.10308 , +1,797.10308])
Currency (8 octets, [-922337203685477,5808, +922337203685477,5807])
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
11
Types de donnes
Chane de caractres :
String (jusqu environ 2 milliards doctets/caractres)
http://eric.univ-lyon2.fr/~jdarmont/
12
Types de donnes
Tableaux : Dim nom_tab(taille) as type
Type structur dfini par lutilisateur :
Type nom_type
champ1 as type
champ2 as type
End Type
http://eric.univ-lyon2.fr/~jdarmont/
13
Exemples de dclarations
Const PI=3.1416
Dim i as Integer
Dim ch1, ch2, ch3 as String
Dim tab_de_reels(100) as Single
Dim matrice(10,10) as Double
Type Personne
nom as String
prenom as String
age as Byte
End Type
Dim une_personne as Personne
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
14
Commentaire : '
Ex. ' Ceci est une ligne de commentaire
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
15
' i=3
msg_affiche = CStr(i)
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
16
Diffrent <>
Infrieur ou gal <=
Suprieur ou gal >=
Oprateurs logiques :
Ou : or. La condition (cond1 or cond2) est vraie si cond1
est vraie ou cond2 est vraie.
http://eric.univ-lyon2.fr/~jdarmont/
17
http://eric.univ-lyon2.fr/~jdarmont/
18
Structures de contrle
Test :
If condition then
' Instructions si condition vraie
Else
' Instructions si condition fausse
End If
http://eric.univ-lyon2.fr/~jdarmont/
19
Structures de contrle
Slection :
Case Else
' Traitement par dfaut (optionnel)
End Select
Ex. Select
case num_mois
Case 1
nom_mois = "janvier"
Case 3, 4, 5
saison = "printemps"
Case Else
message = "cas non prvu"
End Select
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
20
Structures de contrle
Test court :
Choix dindex :
http://eric.univ-lyon2.fr/~jdarmont/
21
Structures de contrle
Boucle pour :
http://eric.univ-lyon2.fr/~jdarmont/
22
Structures de contrle
Boucle pour chaque lment de tableau :
For each var in tableau
' Instructions
Next var
http://eric.univ-lyon2.fr/~jdarmont/
23
Structures de contrle
Boucle tant que :
While condition
' Instructions
Wend
http://eric.univ-lyon2.fr/~jdarmont/
24
Structures de contrle
Boucle rpter jusqu :
Do
' Instructions
Loop until condition
http://eric.univ-lyon2.fr/~jdarmont/
25
La boucle doit
tre excute au
moins une fois
La boucle peut
ne pas tre
excute
VB/BD
Nombre
ditrations
connu
Nombre
ditrations
inconnu
FOR NEXT
DO LOOP
UNTIL
WHILE
WEND
http://eric.univ-lyon2.fr/~jdarmont/
26
Structures imbriques
Ex. 1 : Condition complexe pour calculer une remise
If bon_client then ' bon_client=true
If montant>1000 then
taux_remise = 0.1
' 10 %
Else
taux_remise = 0.05 ' 5 %
End If
Else
' bon_client=false
If montant>2000 then
taux_remise = 0.05 ' 5 %
Else
taux_remise = 0.025 ' 2.5 %
End If
End If
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
27
Structures imbriques
Ex. 2 : Initialisation dune matrice
For i = 1 to 10
For j = 1 to 10
matrice(i,j) = i*j
Next j
Next i
http://eric.univ-lyon2.fr/~jdarmont/
28
Sous-programmes
Sous-programme : Programme autonome
ddi une tche prcise, de prfrence de taille
rduite. Un sous-programme peut recevoir des
paramtres.
Deux types de sous-programmes :
Procdures : Sous-programmes proprement dits
Fonctions : Sous-programmes qui renvoient un
rsultat (ex. fonction de calcul du sinus dun angle)
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
29
Sous-programmes
Structure dune procdure :
Public|Private Sub nom_proc (paramtres)
' Dclarations
' Instructions
End Sub
http://eric.univ-lyon2.fr/~jdarmont/
30
Sous-programmes
Dfinition des paramtres : spars par des
virgules, en spcifiant le type de chacun
Ex. poct
Modes de passage :
Par valeur (ByVal) : Si le paramtre est une
variable existante, son contenu est recopi. Il ne sera
pas modifi en sortie de sous-programme.
Mode Par rfrence (ByRef) : Si le paramtre est une
par
variable existante, son adresse est utilise. Il pourra
dfaut
tre modifi en sortie de sous-programme.
Ex. ByVal poct as Byte, ByRef preel as Single
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
31
Sous-programmes
Exemple 1 : Calcul de maximum
Public Function Max(ByVal n1 as Single,
ByVal n2 as Single) as Single
If n1<n2 then
Max = n2 ' Valeur de retour : n2
Else
Max = n1 ' Valeur de retour : n1
End if
End Function
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
32
Sous-programmes
Exemple 2 : change de deux variables
Public Sub Swap(v1 as String, v2 as String)
' v1 et v2 sont passes par rfrence
Dim temp as String ' Variable temporaire
temp = v1
1
temp
v1 = v2
v1
v2 = temp
3
End Sub
v2
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
33
Sous-programmes
Appel de fonction depuis un autre sous-programme :
Ex. un_reel = Max (var1, 32767)
http://eric.univ-lyon2.fr/~jdarmont/
34
http://eric.univ-lyon2.fr/~jdarmont/
35
http://eric.univ-lyon2.fr/~jdarmont/
36
lments visuels
Contrle : Objet prdfini (type Object) au
sens de la programmation oriente-objet
Proprits : Dfinition de son aspect
vnements : Dfinition de son comportement
http://eric.univ-lyon2.fr/~jdarmont/
37
lments visuels
Quelques proprits communes :
Name Nom interne de lobjet qui peut tre utilis dans un
programme
Appearance Apparence du contrle (3D ou plat)
BackColor Couleur du fond
Caption Texte affich lcran (sauf pour les champs de
saisie Text)
Enabled Contrle activ ou non (True/False)
Font Police de caractres
ForeColor Couleur de lcriture
TabIndex Ordre daccs avec la touche TAB
Visible Contrle visible ou non (True/False)
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
38
lments visuels
Quelques vnements commun :
Change Modification du contenu du contrle
Click Clic de souris sur le contrle
DblClick Double clic de souris sur le contrle
Drag Glisser/dposer
GotFocus Gain du focus
Key vnements provenant du clavier
LostFocus Perte du focus
Mouse vnements provenant de la souris autres
que le clic
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
39
lments visuels
Manipulation de contrle par programme
Ex. Procdure gnrique daffichage dun texte dans
une tiquette (label).
Public Sub Etiq_Affiche (etiq as Object,
ByVal msg as String)
etiq.Caption = msg
End Sub
Ex. dappels :
VB/BD
40
Plan du cours
I.
Objectifs
http://eric.univ-lyon2.fr/~jdarmont/
41
Contrle Donne
Un contrle Donne (Data) permet de connecter
une feuille VB donne une table ou une
requte dune base de donnes Access.
Proprits principales :
Connect : Type de fichier base de donnes (Access)
DatabaseName : Nom du fichier .mdb contenant la
base de donnes
RecordSource : Nom de la table/requte source
ReadOnly : Empche la modification des donnes si
mis True (fortement conseill pour les requtes)
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
42
Contrle Donne
Affichage des donnes associes un contrle
Donne :
tiquettes (texte)
Zones de texte (texte modifiable)
Zones de liste et zones de listes modifiables
Images et dessins
Contrles spcialiss (voir plus loin)
Proprits utilises :
DataSource : Nom du contrle Donne utiliser
DataField : Nom de lattribut afficher
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
43
Contrle Donne
Exemple :
Soit la table Authors (Au_ID, Author, YearBorn) de la
base de donnes biblio.mdb.
On souhaite afficher les numros identifiants des
auteurs et permettre la modification de leurs noms.
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
44
Contrle Donne
Contrle Donne Auteurs :
Connect = Access
DatabaseName = E:\VB5\biblio.mdb
RecordSource = Authors
http://eric.univ-lyon2.fr/~jdarmont/
45
http://eric.univ-lyon2.fr/~jdarmont/
46
http://eric.univ-lyon2.fr/~jdarmont/
47
http://eric.univ-lyon2.fr/~jdarmont/
48
Connect = Access
DatabaseName = E:\VB5\biblio.mdb
RecordSource = Publishers
Visible = False
http://eric.univ-lyon2.fr/~jdarmont/
49
VB/BD
DataSource = Titres
DataField = PubID
RowSource = diteurs
ListField = PubID
http://eric.univ-lyon2.fr/~jdarmont/
50
Contrle Grille BD
Contrle Grille BD (DBGrid) Grille
(MSFlexGrid)
Affichage dinformations provenant dune base
de donnes
Permet dafficher sous forme tabulaire (faon
grille Excel) et de modifier les donnes dune
table
Proprit principale :
DataSource : Nom du contrle Donne utiliser
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
51
Contrle Grille BD
Exemple : La table Authors
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
52
Contrle Grille BD
Contrle Donne Auteurs :
Connect = Access
DatabaseName = E:\VB5\biblio.mdb
RecordSource = Authors
Visible = False
http://eric.univ-lyon2.fr/~jdarmont/
53
http://eric.univ-lyon2.fr/~jdarmont/
54
http://eric.univ-lyon2.fr/~jdarmont/
55
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
56
http://eric.univ-lyon2.fr/~jdarmont/
57
http://eric.univ-lyon2.fr/~jdarmont/
58
Ex.
VB/BD
Auteurs.RecordSet.MoveLast
c = Auteurs.RecordSet.RecordCount
http://eric.univ-lyon2.fr/~jdarmont/
59
http://eric.univ-lyon2.fr/~jdarmont/
60
Ex. Auteurs.RecordSet.FindFirst
VB/BD
("Author = 'Metzger'")
http://eric.univ-lyon2.fr/~jdarmont/
61
http://eric.univ-lyon2.fr/~jdarmont/
62
Plan du cours
I.
Objectifs
http://eric.univ-lyon2.fr/~jdarmont/
63
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
64
VB/BD
65
VB/BD
http://eric.univ-lyon2.fr/~jdarmont/
66
http://eric.univ-lyon2.fr/~jdarmont/
67
http://eric.univ-lyon2.fr/~jdarmont/
68
http://eric.univ-lyon2.fr/~jdarmont/
69