14
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

Accés aux bases de données : Programmation en ADO

Embed Size (px)

Citation preview

Page 1: Accés aux bases de données : Programmation en ADO

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

Page 2: Accés aux bases de données : Programmation en ADO

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

Page 3: Accés aux bases de données : Programmation en ADO

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.

Page 4: Accés aux bases de données : Programmation en ADO

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

Page 5: Accés aux bases de données : Programmation en ADO

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

Page 6: Accés aux bases de données : Programmation en ADO

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.

Page 7: Accés aux bases de données : Programmation en ADO

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é

Page 8: Accés aux bases de données : Programmation en ADO

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 :

Page 9: Accés aux bases de données : Programmation en ADO

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

Page 10: Accés aux bases de données : Programmation en ADO

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()

Page 11: Accés aux bases de données : Programmation en ADO

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

Page 12: Accés aux bases de données : Programmation en ADO

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()

Page 13: Accés aux bases de données : Programmation en ADO

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

Page 14: Accés aux bases de données : Programmation en ADO

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