Upload
lahcen-ait-saadane
View
175
Download
1
Embed Size (px)
Citation preview
Gestion de la base de données de clients
par Programmation ADO
Réalisé par Encadré par
Khalid ABELOUA G5
Lahcen Ait SAADANE G9
Ayoub OUARAIN G9
Yassine CHABOURI G9
Prof. Omar El kharki
Email : [email protected]
Année universitaire 2014 /2015
PLAN
Introduction
A. Partie théorique :
1. communication avec les bases de données
2. l’environnement ADO
B. Partie Pratique :
1. Présentation du projet
2. Organisation de l’application
Conclusion
Introduction
1. Définition de la Base de données
Une base de données est une structure spécialement conçue pour la gestion de grandes
quantités de données. Par le mot gestion on comprend l’ajout, la suppression, la modification
et l’utilisation (calculs, manipulations, sélections, affichage, etc..) de données de différents
types.
D’une base à l’autre, les types de données peuvent être différents. Par exemple dans une base
de type Access il existe le type booléen tandis que dans une base de type MSSQL ce type
n’existe pas et, donc la façon d’enregistrer les données ainsi que la façon de lire les données
peut différer d’un type de base à l’autre. À cause des différences entre les bases de données, la
manière avec laquelle on travaillera sera aussi différente.
2. Communication avec les bases de données
Afin d’établir la communication entre les applications et les bases de données, les
Langages de programmation mettent à la disposition du programmeur, différents outils. VB
est un langage qui offre plusieurs outils simples mais efficaces dans le but de faciliter la
programmation et l’utilisation de telles liaisons (exemple : le contrôle DATA, ADODC …..)
Chaque type de base de données est associé à un «fournisseur», c’est-à-dire un logiciel qui
répond aux requêtes qui lui sont soumises en traitant la structure et le contenu de la base.
Il existe différents «fournisseurs» d’accès aux bases de données. La liaison avec une base
de données de type Access se fait à l’aide du moteur de recherche Microsoft Jet OLE DB
Provider qui gère les bases Access.
Ceci n’est pas laissé au choix de l’usager car le type de connexion et le langage de requêtes
dépendent du type de base qu’on utilise.
3. Qu'est-ce qu'OLE DB ?
Le provider OLE DB se veut être une méthode universelle d'accès aux données inventée par
Microsoft et qui devrait normalement succéder à ODBC.
OLE DB introduit deux nouvelles notions, soit celle des consommateurs de données et celle
des fournisseurs de données.
Un consommateur de données utilise les données. Donc au sens strict du terme, ADO est un
consommateur de données car il utilise les données fournies par OLE DB.
Un fournisseur de données peut obtenir les données directement à partir d'une source ou via
l'intermédiaire d'un produit tiers tel OLEDB. Le fournisseur n'est pas la source physique des
données, mais plutôt un mécanisme qui permet la liaison.
OLE DB représente un jeu d’interfaces, ces interfaces est d'un maniement trop complexe pour
la plupart des programmeurs.
ADO alors permet donc de simplifier (ou de rendre possible) l'utilisation d'OLE DB
4. ADO ?
ADO (ActiveX Data Object) est un composant ActiveX permettant
d'accéder aux bases de données de façon beaucoup plus facile sans se
soucier de tout ce qui est allocation des environnements de travail (cf.
programmation avec la couche basse d'ODBC). ADO fournit des objets
qui permettent de se connecter à une base et de réaliser des requêtes SQL
sur cette base.
ADO permet de ne plus avoir recours à plusieurs interfaces car il fournit
des "Providers" vers toutes les sources de données. Visual Basic permet
l'utilisation de Plusieurs interfaces d'accès aux données. Le modèle ADO
permet un accès simplifié aux données en utilisant trois types d'objets qui
peuvent être utilisés séparément.
5. Création de la référence :
ADO (Active X Data Object) permet d'accéder à une source de données et de
manipuler son contenu. Il offre un accès universel aux données. De nombreuses
plates-formes de développement prennent en charge ADO (VB, C++ -, ASP, VB
script, etc.)
Pour utiliser ADO dans une application Access VBA, vous devez créer une
Référence à la bibliothèque Microsoft Activex Data Object 2.7 Library
Se mettre dans l'éditeur Visual Basic
Menu Outils – Références
6. Les objets de manipulation des données
Les objets ADO vous offrent un accès simple et rapide aux données de tous
types. Le modèle ADO comporte trois composants principaux: l'objet
Connection, Command, Recordset.
a. Objet connection
L'objet Connection est celui qui s'occupe du niveau le plus élève. Il est utilisé
pour établir une connexion entre l’application et une source de données externe.
b. objet command
Un objet Command représente la définition d'une commande spécifique que
vous allez exécuter sur une source de données.
Un objet Command permet de consulter une base de données et de renvoyer des
enregistrements dans un objet Recordset, d'exécuter une opération globale ou de
manipuler la structure d'une base de données
c. Recordset
L'objet Recordset permet d'accéder aux enregistrements renvoyés par une
requête SQL. Cet objet permet de naviguer dans les enregistrements renvoyés,
ajouter, modifier ou en supprimer.
i. Les Curseurs
Les curseurs permettent de se déplacer dans un Jeu d'enregistrements
Types de curseurs :
Static AdOpenStatic
Copie statique d'un jeu d'enregistrements qui
vous permet de retrouver des données.
L'ajout, suppression ou modification
effectuées par d'autres utilisateurs ne sont pas
visibles.
En Avant adOpenFowardOnly
Utilisé par défaut, équivalent au statique
mais ne permet que de faire défiler les
enregistrements vers l'avant.
Dynamic AdOpenDynamic
Les ajouts, suppressions ou modifications
effectuées par d'autres utilisateurs sont
visibles.
Tous déplacements sont possibles dans le jeu
d'enregistrements.
Jeu de
valeurs
Clés
AdOpenKeyset
Les enregistrements ajoutés par les autres
utilisateurs ne sont pas visibles.
Les enregistrements supprimés par d'autres
utilisateurs ne sont pas accessibles à partir du
jeu d'enregistrements en cours.
Seules des clés sont envoyées au jeu
d'enregistrement contrairement aux autres
curseurs qui envoient la totalité des
informations.
j. Les verrouillages
Nous pouvons également indiquer au jeu d'enregistrements comment verrouiller
les données aux cours de leur manipulation via le curseur.
AdlockReadonly Valeur par défaut (lecture seule)
AdlockPessimistic
Verrouillage pessimiste. Le fournisseur assure une
modification correcte des enregistrements, en
verrouillant, dans la source de données, dès
modification.
AdlockOptimistic Ne verrouille qu'au moment de l'appel de la méthode
Update
AdlockBatchOptimistic Mise à jour par lots, en opposition à la mise à jour
immédiate.
7. Présentation du projet :
Une base de données est un outil permettant de stocker et de trouver l’intégralité
des données ou informations en rapport avec un thème ou une activité.
Dans une base de données les informations sont stockées dans les tables (support
de l’information) composées de champs (colonnes des tables) et de lignes (les
enregistrements)
Notre application porte sur la gestion d’une base de données des clients. A
travers cette base de données nous allons utiliser la technologie ADO pour
pouvoir manipuler lesdites données.
Dans notre application nous travaillerons avec une base de données Access
nommée Gestion et qui comporte cinq champs :
Code client
Société
Ville
Code postal
Adresse
a. . Objectif
L’application à réaliser est une application qui permettra de manipuler les enregistrements
d’une base de données des clients en fonction des codes des clients. Nous allons ainsi
donc :
Créer une application à partir de Visual basic
Définir une base de données des clients
Etablir une relation entre la base de données et l’application en utilisant la
programmation ADO
b. Les fonctions de l’application
Cette application permettra d’effectuer les tâches suivantes :
Enregistrer de nouveaux clients grâce à leur code client, société, ville,
adresse, code postal
Supprimer un client en cas de cessation des relations.
8. Organisation de l’application
Notre application comportera une feuille sur laquelle seront écrits les codes des
différents objets et se présentera sous l’interface suivante :
Figure 1 : Interface de l’application
Les objets utilisés et leurs propriétés
OBJETS
PROPRIETES
Name Texte Captions
Label1 Label1 ………….. Code client
Label2 Label2 …………… Société
Label3 Label3 …………. Contact
Label4 Label4 ………….. Ville
Label5 Label5 …………. Code postal
Label6 Lblcodeclient …………… Vider
Label7 Lblsociete …………… Vider
Label8 Lblcontact …………… Vider
Label9 Lblville …………… Vider
Label10 Lblcodepostal …………… Vider
Command1 CommandPremier …………… Premier
Command2 CommandSuivant …………… Suivant
Command3 CommandPrécédent …………… Précédent
Command4 CommandDernier …………… Dernier
Command5 CommandAjouter …………… Ajouter
Command6 CommandSupprimer …………… Supprimer
Command7 CommandRechercher …………… Rechercher
9. Code de l’application
Le code du module (Module1) Option Explicit Public cnx As ADODB.Connection Public rst As ADODB.Recordset Public Sub remplir () rst![Code Client] = InputBox("entrez le code client s.v.p") rst![Société] = InputBox("entrez le nom de la société s.v.p") rst![Contact] = InputBox("entrez le contact s.v.p") rst![ville] = InputBox("entrez la ville s.v.p") rst![Code Postal] = InputBox("entrez le code postal s.v.p") End Sub Public Sub afficher()
Form1.lblcodeclient.Caption = rst![Code Client] Form1.lblsociete.Caption = rst![Société] Form1.lblcontact.Caption = rst![Contact] Form1.lblville.Caption = rst![ville] Form1.lblcodepostal.Caption = rst![Code Postal] End Sub Public Sub suivant() rst.MoveNext End Sub Public Sub precedent() rst.MovePrevious End Sub Public Sub premier() rst.MoveFirst End Sub Public Sub dernier() rst.MoveLast End Sub Public Sub supprimer() rst.Delete Call precedent If rst.BOF() Then Call suivant End If Call afficher End Sub Le code de la feuille ( Form1) Option Explicit 'le bouton qui permet d'ajouter un nouvel élément
Private Sub Commandajouter_Click() rst.AddNew Call remplir rst.Update Call afficher End Sub 'le bouton qui permet de rechercher un client par son code client Private Sub Commandrechercher_Click() Dim recherche recherche = InputBox("enter le code de client que vous recherchez") Call Commandpremier_Click rst.Find "[Code Client] = " & " '" & recherche & "'" If rst.EOF() Then MsgBox (" aucun résultat trouvé") Else Call afficher End If End Sub 'le bouton qui permet de passer a l'enregistrement precedent Private Sub Commandprecedent_Click() Call precedent If (rst.BOF) Then rst.MoveFirst Else End If Call afficher End Sub 'le bouton qui permet de passer au dernier enregistrement Private Sub Commanddernier_Click()
Call dernier Call afficher End Sub 'le bouton qui permet de passer au premier enregistrement Private Sub Commandpremier_Click() Call premier Call afficher End Sub 'le bouton qui permet de passer a l'enregistrement suivant Private Sub Commandsuivant_Click() Call suivant If rst.EOF Then rst.MoveLast End If Call afficher End Sub 'le bouton qui permet de supprimer un enregistrement Private Sub Commandsupprimer_Click() Dim REP As Integer REP = MsgBox("Voulez vous vraiment supprimer cet élément ? ", vbYesNo, "ATTENTION") If REP = 6 Then Call supprimer End If End Sub 'le code exectuté lors de chargement de la feuille Private Sub Form_Load() Set cnx = New ADODB.Connection
Set rst = New ADODB.Recordset cnx.Provider = "Microsoft.Jet.Oledb.4.0" cnx.ConnectionString = App.Path & "\Gestion.mdb" cnx.Open rst.Open "Clients", cnx, adOpenDynamic, adLockOptimistic Call premier Call afficher End Sub
Conclusion
Webographie
1.Wikipedia /http://fr.wikipedia.org/wiki/ActiveX_Data_Objects
2.Django (OznogBlais,Trucsweb http://www.trucsweb.com/tutoriels/asp/tw337/
3.Sébastien Curutchet / Publié le 18 décembre 2002 - Mis à jour le 14 mars 2013
http://drq.developpez.com/vb/tutoriels/ADO/
4.Globaliconnect
http://www.globaliconnect.com/excel/index.php?option=com_content&view=arti
cle&id=171:microsoft-access-activex-data-objects-library-
ado&catid=79&Itemid=475