Upload
zan-layle
View
218
Download
0
Embed Size (px)
Citation preview
7/30/2019 coursVB.ppt
1/117
Environnement deDveloppement graphique
(Visual Basic)
M. Khalid EL HACHEMI
Tlchargement cours, exemples, TD :
Adresse: http://ekhalid.magix.net/public/
I.N.S.E.A 2011 - 2012
7/30/2019 coursVB.ppt
2/117
Sommaire
Introduction Notion dobjet Prsentation de Visual Basic Syntaxe de base Contrles et Proprits Evnements et Mthodes Fonctions prdfinies Fonctions et Procdures utilisateur Transmission des paramtres
7/30/2019 coursVB.ppt
3/117
Sommaire
Types de donnes utilisateur Manipulation des Dates Les botes de message et la fonction InputBox Formatage de donnes (Fonction Format) Contrles avancs (menus et menus
contextuels les grilles) Gestion des erreur (Lobjet Err) Accs aux bases de donnes
7/30/2019 coursVB.ppt
4/117
Introduction
La programmation
Problme
Analyse Algorithme
Programme
Excution Rsultat
Traduction
7/30/2019 coursVB.ppt
5/117
Notion dobjet
Objet:Super-variable(groupe de variables de diffrents types)Les variables sont dsignes par un nom = Proprits
Exemple 1 : lobjet VoitureProprits: couleur, marque, modle,carburant, puissance fiscale, vitesseMaxi, prix.
Syntaxe: objet propritVoiture.couleur = rougeVoiture.marque = Peugeot
p = Voiture.puissanceFiscale
7/30/2019 coursVB.ppt
6/117
Notion dobjet
Exemple 2: lobjet EtudiantProprits: nom, classe, adresse, situation familiale,
ge, taille, budget, situation/justice.
utilisation:
Etudiant.ge = 23Etudiant.Budget = Etudiant.Budget + 100n = Etudiant.nom
7/30/2019 coursVB.ppt
7/117
Notion dobjet
Mthodes= fonctions de lobjet
Exemple: VoitureAcclrer, ralentir, avancer, reculer, sarrter.
Syntaxe: objet Mthode()
Voiture.acclrer()Voiture.reculer(10 m)Voiture.changerCouleur(bleu)
Voiture.couleur= bleu
7/30/2019 coursVB.ppt
8/117
Notion dobjet
Exemple 2: Mthode de lobjet : EtudiantRussir, Redoubler, Tricher, sabsenter,
prparerExamen, AugmenterBudget.
Syntaxe: objet Mthode()
Etudiant.Russir()Etudiant.Sabsenter(2)Etudiant.AugmenterBudget(100)Etudiant.Budget = Etudiant.Budget + 100
7/30/2019 coursVB.ppt
9/117
Prsentation de visual basic
Sauvegarde: fichier projet .vbp
Feuilles .frm
7/30/2019 coursVB.ppt
10/117
Prsentation de visual basic
7/30/2019 coursVB.ppt
11/117
Syntaxe de base
Variables:
Noms de variables:1-Pas de longueur maximale2-Commence par un caractre: 12xy3-Pas despace: date_de_naissance date de naissance
4-Pas de sensibilit la casse (toto=Toto=ToTO)
7/30/2019 coursVB.ppt
12/117
Syntaxe de base
Variables:Types:Boolean : True False
Byte : 0 255Integer : -32 768 32 767Long : -2 2 milliardsSingle : rels avec 6 chiffres dcimaux (x=10/3; 3,333333)
Double : rels avec 14 chiffres dcimauxString : chanes de caractresDate : Date et heureVariant: entier, rel, chane, boolen, Objet : objets VB (Contrles, feuilles,..)
7/30/2019 coursVB.ppt
13/117
Syntaxe de base
Dclaration des Variables:
Dclaration optionnelle (! Mmoire vive) Porte des Variables:1-Niveau Procdure : Dim NomVariableAsType
2-Niveau Form : Dim NomVariable asType3-Niveau Projet (module) : Public NomVariableAsType
Exemple:Dim i As integer, Public b As boolen
7/30/2019 coursVB.ppt
14/117
Syntaxe de base
Variables indices (Tableaux):Dclaration obligatoire!!
1- Taille connue lavance :DimMonTableau(n)As Integer
DimMonTableau(11)As Integer (indices : de0 11 => 12 lments)2- Tableau dynamique : DimMonTableau( )As Integer3- Mes propres indices : Dim MonTableau(2 to 5) As Integer4- Taille fixe ultrieurement : RedimMonTableau(10)
Prserver les valeurs existantes :RedimPreserveMonTableau(11)
Les Matrices (mmes rgles que les tableaux!)
Dim Mat(2,3) As Integer
7/30/2019 coursVB.ppt
15/117
Syntaxe de base
Oprateurs
Oprateurs numrique : + - * /Oprateurs boolens : And Or Xor NotOprateur caractre : & (concatnation)
\ : Division entire^ : puissanceMod : reste de la division entire
7/30/2019 coursVB.ppt
16/117
Syntaxe de base
Lalternative(si..sinon..)
If(Conditions) ThenListe dinstructionsEnd If
If(Conditions) ThenListe dinstructions
ElseListe dinstructionsEnd If
If(Conditions) ThenListe dinstructions
Elseif(Conditions) ThenListe dinstructionsElseif(Conditions) ThenListe dinstructions
ElseListe dinstructions
End If
7/30/2019 coursVB.ppt
17/117
Syntaxe de base
Select case x
case 0
instructionscase 1 to 6
case else
instructions
End Select
Select case :
7/30/2019 coursVB.ppt
18/117
Syntaxe de base
Les Boucles
Forx = a to b Step c
Liste dinstructionsNext x
Exemple :Fori = 1 to 10
s = s + i
Next i
Fin prmature (Exit For)
Fori = 1 to 10Ift(i) = c then
Trouv = true
Exit ForEnd if
Next i
7/30/2019 coursVB.ppt
19/117
Syntaxe de base
While (Conditions) Do While (condition de continuit)
Liste dinstructions instructions
Wend Loop
Do Until (condition darrt)
instructions
Loop
Les Boucles (test avant excution)
7/30/2019 coursVB.ppt
20/117
Syntaxe de base (complment)
Do
instructions
LoopWhile (condition de continuit)
Do
instructions
Loop Until (condition darrt)
Les Boucles (test aps excution)
Exemple
http://localhost/var/www/apps/ExemplesVb/Loop/loop.vbphttp://localhost/var/www/apps/ExemplesVb/Loop/loop.vbphttp://localhost/var/www/apps/ExemplesVb/Loop/loop.vbp7/30/2019 coursVB.ppt
21/117
Contrles et Proprits
Proprits Signification
BackColor Dfinit la couleur d' arrire plan
BorderStyle Dfinit le style de la bordure d' un objet
Caption Dfinit le texte dans la barre de titre de la feuille
ControlBoxDtermine si les boutons du menu systme en haut droitedans la barre de titre de la feuille sont affichs.
Enabled Dtermine si l' objet peut rpondre aux vnements, c'est dire s'il est utilisable.
Font Dfinit une police, un style et une taille de caractre
ForeColor Dfinit la couleur de premier plan
Height Dfinit la hauteur de l' objet partir du haut
Icon Indique l' icne qui est affiche quand la feuille est rduite
Le contrle Form
7/30/2019 coursVB.ppt
22/117
Proprits Signification
Left Indique la position horizontale gauche l' excution de la feuille
MaxButton Dfinit si une feuille contient un bouton "Agrandissement"
MidiChild Dfinit si une feuille est considre comme feuille enfant MIDI
MinButton Dfinit si une feuille contient un bouton "Rduction"
MouseIcon Dfinit une icne de souris personnalise
MousePointer Dfinit le type de pointeur de sourisPicture Dfinit un graphisme utiliser
tag Permet de stocker des informations supplmentaires
Top Dtermine la position verticale de l' objet excution
Width Indique la largeur de l' objet
Le contrle Form
Contrles et Proprits
Exemple
http://localhost/var/www/apps/ExemplesVb/Titre/Titre.frmhttp://localhost/var/www/apps/ExemplesVb/Titre/Titre.frmhttp://localhost/var/www/apps/ExemplesVb/Titre/Titre.frm7/30/2019 coursVB.ppt
23/117
Contrles visuels standards
Contrles et Proprits
7/30/2019 coursVB.ppt
24/117
Contrles et Proprits
textBox (calculette)
Exemples :
textBox
AutresExemples
http://localhost/var/www/apps/ExemplesVb/txtBox/Calculette.frmhttp://localhost/var/www/apps/ExemplesVb/txtBox/Concat%C3%A9nateur.frmhttp://localhost/var/www/apps/ExemplesVb/txtBox/Concat%C3%A9nateur.frmhttp://localhost/var/www/apps/ExemplesVb/txtBox/Concat%C3%A9nateur.frmhttp://localhost/var/www/apps/ExemplesVb/txtBox/Calculette.frm7/30/2019 coursVB.ppt
25/117
Principales Proprits
Proprit Description
Namepermet d'identifier un contrle dans le code. VB attribue des nom par dfautexemple: Label1, Label2,, Text1,.
Caption
Etiquette qui accompagne un objet (Label, CommandButton, OptionButton,
CheckBox, Frame
BackColorcouleur de fond d'un contrleRemarque: pour dfinir une couleur on utilise la fonction RGB(rouge, vert, bleu)
ForeColor Couleur du text d'un contrle
Height hauteur d'un contrle en twip (Twentieth of a Point) = 1cm/567
Width largeur
Top distance en twip qui spare le bord sup du contrle du bord sup de la feuille
Left - - - - - - - - - - - - - - - - - - - - - - - - - gauche du contrle du bord gauche - - - -
Alignement Alignement du text dans un contrle: 0 = gauche, 1 = droite, 2 = centre
Enabled
permet d'autoriser un contrle ragir ou non un vnement,
( = true -->ragit) Exemple
http://localhost/var/www/apps/ExemplesVb/enabled/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/enabled/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/enabled/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/enabled/Projet1.vbp7/30/2019 coursVB.ppt
26/117
Principales Proprits
Proprit Description
Visible permet de rendre un contrle visible ou non
Text dtermine le contenu d'une zone de texte pour : textBox et ComboBox
MaxLength dtermine la longuer maximale d'un texte dans un TextBox
PassWordChar dtermine le caractre masque des caractres taps dans un TextBox :*****
Locked permet de verrouiller une zone de texte quand elle prend la valeur true
TabIndex dtermine l'ordre de tabulation d'un contrle dans la feuille (0, 1, 2,..)
AutoSizedtermine si un contle Label est automatiquement redimentionn pourafficher la totalit de son contenu
Value dtermine la valeur d'un contrle (true, false | 0,1,2 )Min Valeur minimale pour un une barre de dfilement
Max Valeur maximale pour un une barre de dfilement
SmallChangedtermine le pas de deplacement de l'assenseur lorsqu'on clique sur lesflches
LargeChange
dtermine le pas de deplacement de l'assenseur lorsqu'on clique sur sur
une zone de la barre
7/30/2019 coursVB.ppt
27/117
Principales Proprits
Proprit Description
FontSizedtermine la taille des caractres : Label, TextBox, CommandButton,OptionButton, Frame, CheckBox
FontBold Caractres en gras si true
FontName nom de la police de caractres d'un text
UnderLine Soulignement si true
FontStrike barr si true
FontItalic caractres en italique si true
MultiSelectmode de selection de lments d'une liste ( 0 = 1 seul, 1 = plusieurs lments,2 = plusieurs blocs d'lments)
ListCount nombre total d'lmnts dans une liste
SelCount nombre d'lments selectionns dans une liste
ListIndex position de l'lment slctionn ( -1 si aucun)
Selected renvoi true si un lment est slectionn ( List1.Selected(2) )
List Contenu d'un lment de la liste spcifi par sa position (List1,List (10) )
Sorted parmet le remplissage d'lment avec tri automatique (ordre croissant) exemple
http://localhost/var/www/apps/ExemplesVb/sorted/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/sorted/Projet1.vbp7/30/2019 coursVB.ppt
28/117
Principales Proprits
Proprit Description
Rows nombre total de lignes dans une grille
Cols nombre total de colonnes dans une grille
FixedRows nombre de lignes fixes dans une grille
FixedCols nombre de colonnes fixes dans une grille
Row position de la ligne slectionne l'excution
Col position de la colonne slectionne l'excution
TextMatrix contenu d'une case de la grille (grille1.TextMatrix(num ligne, num colonne)
Intervalnombre de millisecondes entre les appels un vnement Timer du contrleTimer exemple
http://localhost/var/www/apps/ExemplesVb/Timer/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/Timer/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/Timer/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/Timer/Projet1.vbp7/30/2019 coursVB.ppt
29/117
vnements & Mthodes associes
Evnement= Action produite par lutilisateur (click, survol .) oupar le systme (Timer) au moment de lexcution sur un contrle
Contrle
Evnement 1
Evnement 2
Evnement i
Procdure 1
Procduret 2
Procdure i
Syntaxe : Private Sub Objet_vnement([arguments])
exemple: Private SubCommand1_Click( )
Private Sub Check1_GotFocus(IndexAs Integer)
7/30/2019 coursVB.ppt
30/117
Principaux vnements
1- Click
Se produit lorsque lutilisateur appuie puis relche le bouton gauche de la
souris (ou entre si le contrle a le focus)Private SubObjet_Click( [IndexAs Integer])
2- DblClick
Se produit lorsque lutilisateur ralise un double click
Private SubObjet_DblClick( [IndexAs Integer])3- GotFocus
Se produit lorsquun contrle reoit le focus (click ou tabulation ou par
code : Objet.SetFocus)
Private SubObjet_GotFocus( [IndexAs Integer])
7/30/2019 coursVB.ppt
31/117
Principaux vnements
4- LostFocus >>>
Se produit lorsquun contrle perd le focus
Private SubObjet_LostFocus( [IndexAs Integer])
5-KeyPress >>>
Se produit lorsque lutilisateur appuie et relche une touche du clavier
Private SubObjet_KeyPress( [IndexAs Integer], KeyAsciiAs Integer)
Codes : 0 : 48 | 9 : 57 | A : 65 | Z : 90 | a : 97 | z : 122 | entrer : 13 >>>
6- Change
Se produit lorsque le contenu dun contrle change
Private SubObjet_Change( [Index as Integer])
http://localhost/var/www/apps/ExemplesVb/Focus/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/KeyPress/Projet2.vbphttp://localhost/var/www/apps/ExemplesVb/CodeAscii/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/CodeAscii/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/KeyPress/Projet2.vbphttp://localhost/var/www/apps/ExemplesVb/Focus/Projet1.vbp7/30/2019 coursVB.ppt
32/117
Principaux vnements
7- Timer
Se produit chaque fois que la priode de temps fixe par la proprit
interval dun contrle Timer sest coulePrivate SubObjet_Timer( [IndexAs Integer])
8- Autres vnements lis la souris
MouseDown
MouseUp
MouseMove >>>
http://localhost/var/www/apps/ExemplesVb/MouseMove/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/MouseMove/Projet1.vbp7/30/2019 coursVB.ppt
33/117
Mthodes associes
Mthode= sous programme propre au contrle qui, en sexcutant,permet deffectuer une action donne
Utilisation: Objet.Mthode [Liste darguments]
Quelques mthodes :
1- SetFocus : envoi le focus un contrle qui peut le recevoir (Enabled = Trueet Visible = True) appel : Objet.SetFocus
2- AddItem : ajoute un lment dans un contrle List ou ComboBox
Appel : List1.addItemelement
3- RemoveItem: supprime un lment dune liste, llment est spcifi par sa
position Appel : List1.RemoveItemposition
7/30/2019 coursVB.ppt
34/117
Mthodes associes
Quelques mthodes :
4- Clear: supprime tous les lment dune liste >>>
appel : List1.Clear
5- Move : deplace un contrle vers de nouvelles coordonnes (gauche, haut)
Appel : Objet.Move 100, 500 >>>
http://localhost/var/www/apps/ExemplesVb/ListEtOption/listeEtOption.vbphttp://localhost/var/www/apps/ExemplesVb/Move/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/Move/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/ListEtOption/listeEtOption.vbp7/30/2019 coursVB.ppt
35/117
Fonctions Prdfinies
Fonction : sous programme qui reoit un ensemble de donnesdentre, effectue un traitement et qui renvoie un et un seulrsultat
Donnes dentre :Arguments
Rsultat calcul : retourn par lenom de la fonction
Fonctions prdfinies : offertes par Visual Basic(mathmatique, chanes, boolennes, conversion, fichiers )
7/30/2019 coursVB.ppt
36/117
1- Fonctions Numriques
Fonction Description Type rsultat exemple
Abs(x) Valeur absolue numrique a=Abs(-3,4) 3,4
Sqr(x) Racine carre numrique a=Sqrt(25) 5
Fix(x) Partie entire entier a=Fix(3,62) 3a=FIx(-3,21)-3
Int(x) Plus grand entier < x entier a=Int(3,62) 3
a=Int(-3,21)-4
Sgn(x) Signe de x entiera=Sgn(3) 1a=Sgn(0) 0
a=Sgn(-3)-1
Rnd Nombre alatoire[0, 1[
rel x=Rnd ?
7/30/2019 coursVB.ppt
37/117
1- Fonctions Numriques
Gnrer un nombre entier alatoire entre a et b:
X = Fix ( Rnd * (b a + 1) + a )
Changer la valeur de dpart Randomize Timer >>>
Exercice : Loto
http://localhost/var/www/apps/ExemplesVb/Rnd/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/Rnd/Projet1.vbp7/30/2019 coursVB.ppt
38/117
2- Fonctions chanes
Fonction Description Type
rsultat
exemple
Len(ch) Longueur de ch entier a=Len(Insea) 5
Asc(ch) Code Ascii du 1er
caractre de ch entier a=Asc(Insea) 73
Chr(x) Caractre dont le codeAscii = x
string a=Chr(103) g
Ucase(ch) conversion enmajuscules
string
Lcase(ch) Conversion enminiscules
string
Space(x) Chane forme de xespaces
string a=Space(3)
7/30/2019 coursVB.ppt
39/117
2- Fonctions chanes
Fonction Description Type
rsultat
exemple
Ltrim(ch) limine les espace degauche
string Ltrim( salut)salut
Rtrim(ch) limine les espace dedroite
string Rtrim(Insea )Insea
Trim(ch) limine les espace degauche et de droite
string Trim ( Insea ) Insea
String(n,c) Chane forme de n foisle caractre c
string String(3, A)AAA
Left(ch,n) Chane forme de ncaractres de gauche
string Left(insea,2)in
Right(ch,n) Chane forme de ncaractres de gauche
string Right(insea,3)sea
Mid(ch,p,n) Chane forme de n
caractres partir de p
string Mid(abcdef,4,2)de
7/30/2019 coursVB.ppt
40/117
3- Fonctions de conversion
Fonction Description Type
rsultat
exemple
Str(x) Convertit x en chane string Str(123) 123
Val(ch) Convertit ch en entier entier Val(123) 123
CSng(ch) Convertit ch en rel rel CSng(103,41) 103,41CSng(2,5e3) 2500
DateValue(ch) Convertit ch en date date DateValue(05/02/1976)
05/02/1976
CVDate(ch) Convertit ch enmoment (date et heure)
date CVDate(14/02/2006 3:40:00) 14/02/2006 3:40:00
Date Date systme date
Time Heure systme date
now Date et heure systme date
7/30/2019 coursVB.ppt
41/117
Autres Fonctions de conversion
Les fonctions ci-dessous convertissent une expression en untype de donnes spcifique.
Syntaxe : CBool( expression)CByte( expression)CDate( expression)CDbl( expression)CDec( expression)
CInt( expression)CLng( expression)CSng( expression)CStr( expression)CVar( expression)
7/30/2019 coursVB.ppt
42/117
Oprations sur les dates
Nombre de jours qui spare deux dates:
Nbj = Date1 Date2
Dure en jours entre deux horaires
H1 = TimeValue(11:00:00)
H2 = TimeValue(17:00:00)
X = H2 H1 = 0,25
dterminer une nouvelle date partir dune ancienne date + n jours- Quelle date seront nous aprs 20 jours?
D2 = Date + 20
7/30/2019 coursVB.ppt
43/117
Fonctions Utilisateur
Syntaxe:
[Public | Private] Function NomFonction([Liste arguments])AsType
Instructions
NomFonction = expression
End Function
Exemple
Function Racine (N As Double) As Double
If N < 0 Then ' value l'argument.
Exit Function' Quitte pour revenir la ' procdure appelante.
Else ' Renvoie la racine carre.
Racine = Sqr(N)
End If
End Function
7/30/2019 coursVB.ppt
44/117
Procdures Utilisateur
Syntaxe:
[Public | Private] Sub NomProcedure([Liste arguments])
Instructions
End Sub
Exemple
Private Sub Init( )Nom.Text = ""Prnom.Text = ""End Sub
Appel
Call Init >>> TP
http://localhost/var/www/apps/ExemplesVb/Proc%C3%A9dure/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/Proc%C3%A9dure/Projet1.vbp7/30/2019 coursVB.ppt
45/117
Transmission des paramtres
Deux modes de transmission :
1- Par rfrence(ByRef) Mode par dfaut
Private Sub Toto ( ByRefY as Integer)Private Sub Toto (Y as Integer)
Private Function Carre(X as Double)Carre = X * X
End Function
2- Par valeur( ByVal )
Private Sub Dodo ( ByVal Y as Integer) >>>
http://localhost/var/www/apps/ExemplesVb/transmission/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/transmission/Projet1.vbp7/30/2019 coursVB.ppt
46/117
Types dfinis par lutilisateur
Dclaration : (dans un module !!!)
[Private | Public] Type NomType
Var1 as typeVar2 as type
. . . . .
End Type
Utilisation :Public nAs NomTypen.Var1 = expression
7/30/2019 coursVB.ppt
47/117
Manipulation de Date
DateAdd(m,3,31-jan-95)DateDiff(d,01/01/2005,16/05/2006)DatePart(q,Date)
Year(Date)Month(Date)MonthName(2, true)WeekDay(Date)weekdayName(3, false, VbSunday)Day(Date)
Hour(Time)Minute(Time)Second(Time)
>>>
Valeur Description
yyyy Anne
q Trimestre
m Moisy Jour de l'anne
d Jour
w Jour de la semaine
ww Semaineh Heure
n Minute
s Seconde
http://localhost/var/www/apps/ExemplesVb/dateDiff/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/dateDiff/Projet1.vbp7/30/2019 coursVB.ppt
48/117
MsgBox - Instruction ou fonction ?
Cette instruction trs utilise dans Visual Basic permet de poser unequestion l' utilisateur au travers d' une bote de dialogue.
Syntaxe:Variable = MsgBox("Message", Type, "Titre de la fentre")
Variable : Variable de type Entier(Integer) recevant la valeur du bouton
Message : Chane de caractres affiche comme message dans la botede dialogue
Type : Expression numrique qui contrle les boutons et les icnes afficher.
Titre : Expression chane affiche dans la barre de titre de la bote dedialogue.
7/30/2019 coursVB.ppt
49/117
MsgBox (type)
Les constantes pour les boutons
Constante VB Chiffre Affichage
vbOKOnly 0le bouton OK uniquementvbOKCancel 1 les boutons Ok et Annuler
vbCancelRetryIgnore 2 les boutons Abandonner,
Rpter et Ignorer
vbYesNoCancel 3 les boutons Oui, Non et AnnulervbYesNo 4 les boutons Oui et Non
vbRetryCancel 5 les boutons Rpter et Annuler
7/30/2019 coursVB.ppt
50/117
Constante VB Chiffre Affichage
vbCritical 16 l'icne erreur critique
vbQuestion 32 l'icne question
vbExclamation 48 l'icne message d'avertissement
vbInformation 64 l'icne message dinformation
Les constantes pour les icnes
MsgBox (type)
MsgBox "Erreur fatale, division par 0", vbCritical
7/30/2019 coursVB.ppt
51/117
Constante Chiffre Description
vbDefaultButton1 10 Le 1er bouton est le bouton par dfaut
vbDefaultButton2 256 Le 2me bouton est le bouton par dfaut
vbDefaultButton3 512 Le 3me bouton est le bouton par dfaut
Les constantes pour le bouton par dfaut
MsgBox (type)
7/30/2019 coursVB.ppt
52/117
Exemple
x = MsgBox("Echec de connexion!", vbDefaultButton2 + vbAbortRetryIgnore + _
vbInformation, "titre")
MsgBox
7/30/2019 coursVB.ppt
53/117
Constante Chiffre DescriptionvbOk 1 OK
vbCancel 2 Annuler
vbAbort 3 Abandonner
vbRetry 4 RessayervbIgnore 5 Ignorer
vbYes 6 Oui
vbNo 7 Non
Les constantes renvoyes par MsgBox
MsgBox (constantes renvoyes)
7/30/2019 coursVB.ppt
54/117
La fonction : InputBox
SyntaxeInputBox (prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
x = InputBox("quel est votre ge?", "Age", , 1000, 2000)
X = ""
7/30/2019 coursVB.ppt
55/117
La fonction Format( )
Format(expression__formater, format_donn)
expression__formater :
1- chane de caractre
2- numrique
3- date
7/30/2019 coursVB.ppt
56/117
La fonction Format( )
1- chane de caractre
Caractre deFormatage
Description
@Un caractre apparat la position @& Un caractre sil existe apparat la position &
< Convertit en minuscules
> Convertit en majuscules
Important !!: les @ et & sappliquent de droite gauche
Exemples:
Format("022554466", "@@@-@@-@@-@@")
Format("022554466", "&&&&-&&&-&&&")
Format("Intressant", ">")
022-55-44-66
022-554-466
INTERESSANT
7/30/2019 coursVB.ppt
57/117
La fonction Format( )
1- numrique
Caractre deFormatage
Description
0 Un chiffre apparat la position 0
# Un chiffre sil existe apparat la position #
. Point dcimal
, Sparateur de milliers
Exemples:
Format (3456.199,"# # #,# # #.00")Format(3456.199, "000,000.00")
Format(0.199, "# #.# #")
Format(0.199, "#0.00")
3 456.20
003 456.20
.2
0.20
7/30/2019 coursVB.ppt
58/117
La fonction Format( )
1- Date
Caractre deFormatage
Description
d Affiche le jour sans zro non significatif (1 31)
dd Affiche le jour avec un zro non significatif (01 31)
ddd Affiche le jour en lettre sous sa forme abrge (lun-dim)
dddd Affiche le jour en lettre sous sa forme complte (lundi)
m 1-2-3 -..12
mm 01-02-03 - 12mmm jan-fv- .. dc
mmmm Janvier- .dcembre
y Jour de lanne (1-366)
yy Anne avec 2 chiffres (00-99)
yyyy Anne avec 4 chiffres (100-9999)
7/30/2019 coursVB.ppt
59/117
Linstruction With
With Text1.BackColor = vbRed
.BorderStyle = 1.Alignment = 2With .Font
.Bold = True
.Size = 14End With
End With
7/30/2019 coursVB.ppt
60/117
Contrles avancs
Les menus :
7/30/2019 coursVB.ppt
61/117
Contrles avancs (les menus)
Application raliser
http://localhost/var/www/apps/ExemplesVb/Menus/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/Menus/Projet1.vbp7/30/2019 coursVB.ppt
62/117
Contrles avancs
Les menus contextuels (PopupMenu) :
Un menu contextuel est un lment du menumais invisible!
Dmonstration
7/30/2019 coursVB.ppt
63/117
Gestion des erreurs
Linstruction On Error
Exemple :Public Sub Divise()
On Error GoTo OopsTata = 12 / 0Exit SubOops:Msgbox("Diviser par zro, cest pas malin !")
End Sub
7/30/2019 coursVB.ppt
64/117
Rcupration des erreurs
Lobjet Err
Cet objet, qui ntant pas un contrle, ne possde pas dexistence
graphique, est utilis par toute application pour stocker ltat desErreurs quelle a ventuellement provoques. On pourra, dans lecode, avoir recours diffrentes propritsde lobjet Err:
Number: dsigne le code de cette erreur, permettant didentifierson type
Description : il s'agit d'un rapide bla-bla sur la nature de lerreurSource: qui indique lobjet lorigine de lerreur
7/30/2019 coursVB.ppt
65/117
Rcupration des erreurs
Lobjet Err
Exemple:
Public Sub Divise()On Error GoTo OopsTata = 12 / 0Exit Sub
Oops:Msgbox "Erreur numro: "& Err.Number & Err.Description
End Sub
7/30/2019 coursVB.ppt
66/117
Gestion des fichiers
Etape 1:OuvertureLe systme rserve une place en mmoire pour permettre laccs au
fichier par lapplication. Elle est ralise par linstruction : Open(si le fichier nexiste pas, elle le cre !!)
Etape 2:Traitement du fichierLectures ou critures de donnes. Il est possible aussi de se
positionner dans le fichier un endroit quelconque
Etape 3:Fermeture du fichierLe systme libre la mmoire rserve. Elle est ralise parlinstruction : Close
7/30/2019 coursVB.ppt
67/117
Gestion des fichiers
Accs squentiel (ouverture)
1- En lecture seule:Input
2- En criture:OutputAttention ! : le fichier est rinitialis vide et son contenu prcdent
est perdu
3- En Mise jour (ajout):AppendLe contenu prcdent est conserv, et lcriture dans le fichier ajoutede nouveaux enregistrement
Exemple: Open "Monfich.txt" ForInput As #1
Open "Monfich.txt" ForAppend As #1
7/30/2019 coursVB.ppt
68/117
Gestion des fichiers
Accs squentiel
Exemple: Open "Monfich.txt" ForInput As #1
Open "Monfich.txt" ForAppend As #500
Remarque :
De 1 255 : accs exclusif au fichier, les autres applications nepeuvent pas y accder tant quil est ouvert
De 256 511: fichier partag avec dautres applications
7/30/2019 coursVB.ppt
69/117
Gestion des fichiers
Accs squentiel
Lecture : Open C:\contact.txt" ForInput As #1Line Input #1, ligne
Ecriture : Open C:\contact.txt" ForAppend As #1nom = txtnomprenom = txtprenomtel = txttelPrint #1, nom & prenom & tel
Important : un enregistrement est compos de plusieurs champs (variables
String) de taille fixe :
Dim nomAs String * 20Dim prenomAs String * 20Dim telAs String * 9
7/30/2019 coursVB.ppt
70/117
Gestion des fichiers
Lecture squentielle
Line Input #1, ligne
toto tata 111111111
fofo fifi 222222222
salah salim 333333333
mohamed mahmoud 444444444
>>>
EOF(1) = True
http://localhost/var/www/apps/ExemplesVb/fichiersSansList/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/fichiersSansList/Projet1.vbp7/30/2019 coursVB.ppt
71/117
Gestion des fichiers
Accs Direct (Random)
Open "Monfich.txt" For Random As # 1 Len = tailleEnregistrement
Exemple: Open App.Path & "\test.txt" ForRandom As #1 Len = Len(contact)
Lecture : Get numFichier, numEnregistrement, variable
Exemple: Get 1, 3, contact
(retourne le 3meenregistrement et laffecte la variable contact)
Ecriture : PutnumFichier, numEnregistrement, variable
Exemple: Put1, 5, contact
7/30/2019 coursVB.ppt
72/117
Gestion des fichiers
Accs Direct (Random)
Remarque: La variable contact est une variable de type compos
Public Type enregistrement (dclaration dans un module !!)
nomAs String * 20prenomAs String * 20telAs String * 9End Type
Ensuite: quelque part dans le code
Dim contactAs enregistrementOpen App.Path & "\test.txt" ForRandom As #1 Len = Len(contact)Get 1, 1, contacttxtnom = Trim(contact.nom)txtprenom = Trim(contact.prenom)
txttel = Trim(contact.tel) >>>
Accs aux bases de
http://localhost/var/www/apps/ExemplesVb/fichiers-acc%C3%A8sDirect/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/fichiers-acc%C3%A8sDirect/Projet1.vbp7/30/2019 coursVB.ppt
73/117
Accs aux bases dedonnes
Le langage SQL
LDD : Langagede Dfinition de Donnescration, modification et suppression dobjets de base de donnes
(Tables, champs, contraintes )
LMD : Langagede Manipulation de DonnesExtraction de donnes
Regroupement et synthse de donnes
Jointure des tables
Modification de donnes (mise jour et suppression)
LMD : Langagede Contrle de Donnes
Gestion des utilisateurs (connexionx, droits daccs, mots de passe)
7/30/2019 coursVB.ppt
74/117
Le langage SQL
1. Extraction de donnes
SELECTchamp [, champ2]FROM table
WHERE conditionORDERBY champ [ASC | DESC]
Utilisation de la clauseSELECT
Exemple: 1- SELECT CodeFact, DateFact, Montant * 1.2
FROM FactureORDERBY DateFact
2- SELECT *FROM Facture
7/30/2019 coursVB.ppt
75/117
Le langage SQL
Utilisation de la clauseWHERE
Exemple: SELECT CodeFact, DateFact, Montant * 1.2
FROM FactureWHERE Montant > 10 000And DateFact < # 31/12/2005 #
ORDER BYDateFact
Oprateurs: = < > = Between a And bAnd Or Xor Not
IN
Like
7/30/2019 coursVB.ppt
76/117
Le langage SQL
Utilisation de la clauseWHERE
Exemple: SELECT Personnes.Nom, Personnes.PrnomFROM PersonnesWHERE Personnes.Nom Like "c*"
* : designe 0 ou plusieurs caractres? : Dsigne un caractre
Question : Personnes dont le nom est compos de 5 caractre ?SELECT Personnes.Nom, Personnes.PrnomFROM PersonnesWHERE Personnes.Nom Like "?????"
Au moins 5 caractre : Like "?????*"Contient la lettre b : Like "*b*"Ne contient pas la lettre b : Not Like "*b*"
7/30/2019 coursVB.ppt
77/117
Le langage SQLlimination des doublons : (DISTINCT)
SELECT Distinct TypeFROM Produit
Limitation de nombre de lignes renvoyes par une requte :
SELECT TOP 10 nomProduitFROM Produit
Question : nom des 3 tudiants les mieux classs ainsi que leurs moyennes?SELECT TOP 3 nom, moyenneFROM Resultat
ORDER BY moyenne DESC
Question : nom et moyenne du dernier de la classe ?SELECT TOP 1 nom, moyenneFROM ResultatORDER BY moyenne
7/30/2019 coursVB.ppt
78/117
Le langage SQL2.Regroupement et synthse de donnes
Fonctions dagrgation :
SUM : somme
AVG : moyenneMIN : minimumMax : maximumCOUNT : nombre de lignes
SELECT MAX(moyenne) ( ou MAX(DISTINCT(moyenne) ) )
FROM Resultat
SELECT COUNT(*)FROM Employe (nombre demploys dans lentreprise)
SELECT SUM(Salaire)FROM Employe (masse salariale)
7/30/2019 coursVB.ppt
79/117
Le langage SQL- Regroupement avec GROUP BY
SELECT Type, MAX(Prix), MIN(Prix)FROM ProduitsGROUP BY TypeORDER BY Type
Important: tout champ qui nest pas contenu dans une fonction dagrgation doit figurerdans la clause GROUP BY
Question : types de produits dont le prix maximum dpasse 1000 DH?SELECT Type, MAX(Prix)FROM Produits
GROUP BY TypeHAVING MAX(Prix) > 1000
Important: la clause WHERE exprime des conditions sur les champs (application avantregroupement) alors que la clause HAVING exprime des condition sur legroupe (application aprs regroupement)
7/30/2019 coursVB.ppt
80/117
3.Jointure des tables: jointures internes
Pere Fils
numPere Nom prenom
1 Salmi Mohamed
2 Bahi Rida3 Alami Khalil
4 Rizki Rachid
numPere prenom
1 Slimane
1 salima
3 Laila
SELECT Pere.Nom, Fils.Prenom
FROM Pere Join Fils
On Pere.numPere = Fils.numPere
Nom prenom
Salmi Slimane
Salmi salima
Alami Laila
La requte retourne uniquement les enregistrements qui respectent la condition,
on parle deJointure interne
7/30/2019 coursVB.ppt
81/117
3.Jointure des tables: jointures externes
Question : Liste de tous les pres (nom et prenom)ainsi que le prnom du fils pour ceux qui en ont
SELECT p.Nom, p.Prenom, f.PrenomAs"Prenom fils"FROM Pere pLeftJoin Fils f
Onp.numPere = f.numPere
Nom prenom Prenom fils
Salmi Mohamed Slimane
Salmi Mohamed salimaBahi Rida NULL
Alami Khalil Laila
Rizki Rachid NULL
1- La requte retourne tous les enregistrements de la table de gauche ainsi queles enregistrements de la table de droite qui respectent la condition
2- Lusage des alias (p, f) permet de rduire le code et le rendre plus lisible. Dans lecas o les tables jointes possdent des noms de champs identiques, cetterecommandation devient obligatoire
7/30/2019 coursVB.ppt
82/117
3.Jointure des tables: jointures externes
Remarque : On dispose galement de jointure externes droite: Right Join.Le principe est le mme, il suffit dinverser lordre des tables
SELECT p.Nom, p.Prenom, f.Prenom
FROM Fils fRightJoin Pere p
On p.numPere = f.numPere
Nom prenom Prenom fils
Salmi Mohamed Slimane
Salmi Mohamed salimaBahi Rida NULL
Alami Khalil Laila
Rizki Rachid NULL
Question: Rsultats de la requte suivante ?
SELECT p.Nom, p.Prenom, f.Prenom
FROM Fils fLeftJoin Pere p
On p.numPere = f.numPere
Nom prenom Prenom fils
Salmi Mohamed Slimane
Salmi Mohamed salima
Alami Khalil Laila
7/30/2019 coursVB.ppt
83/117
3.Jointure des tables: jointures externes
Employe Service
nume Nom nums
1 Salmi 20
2 Bahi 10
3 Alami 20
4 Rafik
nums nomService ville
10 Rehcerche Rabat
20 Vente Knitra
30 Achat Fs
SELECT e.Nom, s.nomService
FROM Empoye e LeftJoin Service s
On e.nums = s.nums
Question : noms de tous les employs aisni que le nom du service o ils travaillent ?
Nom nomServiceSalmi Vente
Bahi Recherche
Alami Vente
Rafik
7/30/2019 coursVB.ppt
84/117
3.Jointure des tables: jointures externes
Employe Service
nume Nom nums
1 Salmi 20
2 Bahi 10
3 Alami 20
4 Rafik
nums nomService ville
10 Rehcerche Rabat
20 Vente Knitra
30 Achat Fs
SELECT s.nomService, COUNT(e.nume) As "nbrEmploye"FROM Service s LeftJoin Empoye e
On e.nums = s.nums
GROUP BY s.nomService
Question : nombre demploys par service ?
nomService nbrEmployeRecherche 1
Vente 2
Achat 0
7/30/2019 coursVB.ppt
85/117
4.Ajout de donnes: INSERT [ INTO ]
INSERT Etudiant (nom, prenom, note)
VALUES ("Carlos", "Santana", 14)
INSERT Etudiant
VALUES( Liste valeurs dans lordre des champs de la table)
5.Modification de donnes: UPDATE
UPDATE Etudiant
SET note = note+2WHERE Classe = 3And Option = "Actuariat"
Remarque :
La clause WHEREest utilise de la mme manire quavec la clauseSELECT
7/30/2019 coursVB.ppt
86/117
6.Suppression de donnes: DELETE
Supprimer ltudiant Carlos
DELETE Etudiant
WHERE nom = "Carlos"
Vider la table Etudiant :
DELETE Etudiant
7/30/2019 coursVB.ppt
87/117
Le contrle Data
Accs aux bases de donnes
7/30/2019 coursVB.ppt
88/117
1-Initialiser les principales propritsDatabaseName = C:\magasin.mdb
RecordSource = Nom Table (ou requte accss)
2- Lier les diffrentes zones de texte au contrle DataDataSource = nom du contrle Data
3- Lier la zone de texte un champ de la tableDataField= nom du champ
Utilisation du contrleData
7/30/2019 coursVB.ppt
89/117
Les contrles pouvant tre lis un contrle Data:Label (tiquette)
TextBox (chamm de saisie)
CheckBox (case cocher)PictureBox (zone dimage)
ListBox (liste)
ComboBox (liste combine)
Il est galement possible dutiliser dautres contrles :
DBCombo (liste combine lie)
DBList (liste lie)
DBGrid (grille lie)
Utilisation du contrleData
7/30/2019 coursVB.ppt
90/117
Remarque : pour travailler avec les listes, les listes combines et les grilles, il fautles ajouter la bote outils :
Click bouton droit dans la bote outils , puis Composant
(ou bien : Menu Projet Composants,
Ou utiliser directement le raccourcis clavier : Ctrl + t )
Utilisation du contrleData
7/30/2019 coursVB.ppt
91/117
CocherMicrosoft Data Bound Grid et List
Utilisation du contrleData
7/30/2019 coursVB.ppt
92/117
La proprit Recordset : Cre automatiquement Partir de la prorit RecordSource (table ou requte), elle
donne accs aux enregistrements
a- Ajout dun nouvel enregistrement:1.Utiliser la mthodeAddNew ( Data1.Recordset.AddNew )
2.Modifierle contenu des contrles lies3.Appeler la mthode Update pour enregistrer leur contenu
( Data1.Recordset.Update )
Utilisation du contrle Data
7/30/2019 coursVB.ppt
93/117
b- Modification de lenregistrement courant :1.Modifierle contenu des contrles lies (enregistrement courant)2.Appeler la mthode Update
c- Suppression de lenregistrement courant :Appeler la mthode Delete du Recordset :
Data1.Recordset.Delete
Data1.Recordset.MoveNextpour se placer sur lenregistrement suivant
Les proprits BOF et EOF duRecordset peuvent tre utilises pour savoir si laposition courante se trouve au dbut ou la fin du Recordset
Exemple >>>
Utilisation du contrle Data
http://localhost/var/www/apps/ExemplesVb/ControleData/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/ControleData/Projet1.vbp7/30/2019 coursVB.ppt
94/117
Les contrles lis Complexes :Affichage du contenu de toute une table (ou requte) avec lecontrleDBGrid :
Utilisation du contrle Data
7/30/2019 coursVB.ppt
95/117
Le contrleDBGrid :
Pour les diffrentes manipulations denregistrements, il suffit
de mettre True les proprits correspondantes
a- Ajout dun nouvel enregistrement :AllowAddNew= True (saisie dans la dernire ligne)
b- Modification :
AllowUpdate= True
c- Suppression : (slection dune ligne puis touche suppr)AllowDelete= True
Exemple >>>
Utilisation du contrle Data
http://localhost/var/www/apps/ExemplesVb/ControleData/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/ControleData/Projet1.vbp7/30/2019 coursVB.ppt
96/117
Les contrles lis DBList et DBCombo prsentent desproprits complmentaires permettant un fonctionnement pluscomplexe: ils autorisent la visualisation simultane detoutes les lignes dun champ du Recordset
Proprits :
RowSource : nom du contrle Data
ListField : nom du champ de la table affich dans la listeExemple >>>
Utilisation du contrleData
http://localhost/var/www/apps/ExemplesVb/ControleData/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/ControleData/Projet1.vbp7/30/2019 coursVB.ppt
97/117
Aide la saisie :
Utilisation du contrleData
Saisie trs difficile
7/30/2019 coursVB.ppt
98/117
Aide la saisie: Ralisation Exemple >>>
1- Ajouter un 2eme contrle Dataname = dataSencondaireDatabaseName = Entreprise (la mme base)RecordSource = Service (table lie)
2- Remplacer le TextBox par un ComboBoxRowSource = dataSecondaire (source de donnes du contrle)ListField = nomService (champ qui contient le nom du service)
DataSource = Data1 (contrle qui est mis jour (table employ)DataField = numService (champ devant tre mis jour)BoundColumn = numService (lien entre les deux tables)
Utilisation du contrleData
http://localhost/var/www/apps/ExemplesVb/ControleData/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/ControleData/Projet1.vbp7/30/2019 coursVB.ppt
99/117
Les filtres (listes dpendantes) Exemple >>>
Le principe est de changer la proprit RecordSourceen cours dexcution,actualiser le contrle Data en appelant la mthode Refresh et actualiser le
2me
DBCombo en appelant la mme mthode
Private Sub DBCombo1_Click(Area As Integer)Construction de la requterequete = "Select * FROM Ville WHERE numPays = ("requete = requete + "SELECT numPays FROM Pays WHERE
nomPays = '" & DBCombo1.Text & "')"Data2.RecordSource = requeteData2.RefreshDBCombo2.RefreshEndSub
Utilisation du contrleData
http://localhost/var/www/apps/ExemplesVb/Filtre/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/Filtre/Projet1.vbp7/30/2019 coursVB.ppt
100/117
Pour pouvoir utiliser ADO dans un projet Visual Basic vous devezrajouter la bibliothque Microsoft AtiveX Data Objects 2.0 Library
menu Projets Rfrences,puis cocherMicrosoft AtiveX Data Objects 2.0 Library
ADO propose les objets suivants :
Recordset : jeu d'enregistrements retourns lors de l'excution d'unSELECT
Connection : connexion une source de donnes (fichier texte,fichier Excel, ou une base de donnes)Error : ensemble des erreurs retournes par le SGBDCommand : permet d'excuter des requtesParameter : permet de dfinir un paramtre d'une requte
Accs aux donnes avec ADO
7/30/2019 coursVB.ppt
101/117
1- Cration dun DSN (Data Source Name)
- Dans le panneau de configuration de windows, slectionnez outilsdadministration, puis Sources de donnes (ODBC)
- Dans ladministrateur de source de donnes ODBC, slectionnezSources de donnes utilisateur(le 1eronglet)
- Cliquez sur le bouton ajouter, puis slectionnerMicrosoft AccessDriver(*.mdb) et cliquer surterminer
- La bote de dialogueinstallation ODBC Microsoft Accessest
affiche. Entrez le nom de la source de donnes : Gestion entreprise- Cliquez sur le bouton slectionneret slectionnez le fichier de votrebase de donnes, le DSN Gestion entreprise est ajout la liste,cliquez ensuite surok (Dmonstration )
Accs aux donnes avec ADO
7/30/2019 coursVB.ppt
102/117
Lobjet RecordsetLa proprit Fields tant la proprit par dfaut, les lignes
suivantes sont quivalentes:
rs.Fields(nomService)
rs.Fields(1) le 1erchamp est dindice 0
rs (nomService)
rs.Fields(1)rs![nomService]
Exemple>>>
Accs aux donnes avec ADO
http://localhost/var/www/apps/ExemplesVb/ADO1/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/ADO1/Projet1.vbp7/30/2019 coursVB.ppt
103/117
Lobjet RecordsetLexemple prcdent nest pas optimis. En ffet, une
connexion la base de donnes est tablie chaque fois quunerequte est gnre : lors du remplissage initial de la liste,puis chaque slection dun lment de la liste.
Problme:temps dtablissement dune connexion peutdevenir long, surtout si la base se trouve sur une autre
machine
Solution: Etablir une connexion permanente indpendammentdes requtes en utilisant lobjet Connection
Accs aux donnes avec ADO
7/30/2019 coursVB.ppt
104/117
Lobjet Connection : (dclaration dans le volet gnral !!)
Private cn As Connection
Private Sub Form_Load()
'cration d'une connexionSet cn = New Connection
'etablessement de la connexioncn.Open "DSN=gestion entreprise"
'cration du Recordset
Dim rs As NewRecordset'lien avec la connexion cnSet rs.ActiveConnection= cn ..
Exemple>>>
Accs aux donnes avec ADO
http://localhost/var/www/apps/ExemplesVb/ADO2/Projet1.vbphttp://localhost/var/www/apps/ExemplesVb/ADO2/Projet1.vbp7/30/2019 coursVB.ppt
105/117
Accs aux donnes avec ADO
A- Ajout dun nouvel enregistrement :
dim rs As New ADODB.Recordsetrs.Open Select * from Service ,DSN=gestion entreprise,_
adOpenDynamic, adLockOptimisticrs.AddNewrs![numService] = 50rs![nomService] = Ressources humainers.Update
Remarque : adOpenDynamiccest pour permettre lcriture surla base (le mode par dfaut tant la lecture seule)
A d
7/30/2019 coursVB.ppt
106/117
Accs aux donnes avec ADO
B- Modification de tous les enregistrements :
dim rs As New ADODB.Recordsetrs.Open Select * from Article ,DSN=gestion entreprise,_
adOpenDynamic, adLockOptimistic
dim stock as integerDo While Not rs.EOF
stock = rs![stock]
rs![stock] = stock 10rs.Updaters.MoveNext
Loop
A d
7/30/2019 coursVB.ppt
107/117
Accs aux donnes avec ADO
C- Suppression de tous les enregistrements :
dim rs As New ADODB.Recordsetrs.Open Select * from Article ,DSN=gestion entreprise,_
adOpenDynamic, adLockOptimistic
Do Until rs.EOFrs.Deleters.MoveNext
Loop
Remarque : pour supprimer un enregistrement particulier il fautajouter un filtre dans la requte (clause WHERE)
A d O
7/30/2019 coursVB.ppt
108/117
Accs aux donnes avec ADO
Le contrle ADODC (ADO DataControl) :
Le contrleADODC est semblable au contrle Data prsent
prcdemment
Pour lajouter au projet, il faut ajouter le composant :
Microsoft ADO Data Control 6.0 (OLEDB)
A d ADO
7/30/2019 coursVB.ppt
109/117
Accs aux donnes avec ADO
Le contrle ADODC :Initialisation :ADODC1.ConnectionString= DSN=gestion entreprise
A d ADO
7/30/2019 coursVB.ppt
110/117
Accs aux donnes avec ADO
Utilisation de lAssistant Feuille de donnes
Menu fichier,
puis nouvellefeuille.
ChoisissezAssistant Feuille
de donnes
Cliquez surOuvrir
A d ADO
7/30/2019 coursVB.ppt
111/117
Accs aux donnes avec ADO
Utilisation de lAssistant Feuille de donnes
A d ADO
7/30/2019 coursVB.ppt
112/117
Accs aux donnes avec ADO
Utilisation de lAssistant Feuille de donnes
A d ADO
7/30/2019 coursVB.ppt
113/117
Accs aux donnes avec ADO
Utilisation de lAssistant Feuille de donnes
A d ADO
7/30/2019 coursVB.ppt
114/117
Accs aux donnes avec ADO
Utilisation de lAssistant Feuille de donnes
A d ADO
7/30/2019 coursVB.ppt
115/117
Accs aux donnes avec ADO
Utilisation de lAssistant Feuille de donnes
Accs a donnes a ec ADO
7/30/2019 coursVB.ppt
116/117
Accs aux donnes avec ADO
Utilisation de lAssistant Feuille de donnes
Rsultat :
Environnement deD l t hi
7/30/2019 coursVB.ppt
117/117
FINTlchargement cours + exemples + TP :
Adresse: http://ekhalid.magix.net/public
Dveloppement graphique
(Visual Basic)