Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONNEXION À UNE BDD À PARTIR DE VISUAL BASIC AVEC ADO


Information sur le tutorial

Catégorie :Base de Donnees Date de création : 15/05/2006 14:48:07 Vu : 26 686 fois

Note :
7,38 / 10 - par 8 personnes
7,38 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (20)
Ajouter un commentaire et/ou une note

Description

Tutorial sur la connexion d'une base de données (plus particulièrement ici Access 2000) à Visual Basic

Tutorial

Active Data Objects

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 :


Présentation du modèle

Les objets ADO vous offre un accès simple et rapide aux données de tout types. Le modèle ADO comporte trois composants principaux: l’objet Connection, Command, Recordset.

==>?L'objet Connection est celui qui s’occupe du niveau le plus élève. Il est utilisé pour établir une connexion entre ‘application et une source de données externe.

==> ?L'objet Command sert à créer des requêtes pour accéder aux enregistrements d’une source de données généralement renvoyer dans un 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. (identique à la DAO 3.51).


Création de la référence à ADO.

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



I ) L'objet Connection.

Un objet Connection représente une session unique avec une source de données. Dans le cas d'un système de base de données client/serveur, il peut correspondre à une connexion réseau au serveur.


a. Déclaration :

Dim MaConnexion As Connection


b. Création d'une instance:

Set Maconnexion = New Connection

Il s'agit ensuite de déterminer les paramètres de connexion à une source de données. Il faudra indiquer quel est le Provider, c'est à dire le type de fournisseur de données:

MaConnexion.Provider = "Microsoft.Jet.oledb.4.0" ' Pour access 2000 (Adaptez le provider en fonction de la source de données que vous utilisez)

Ensuite, il suffira d'ouvrir la connexion grâce à la méthode Open:

MaConnexion.Open "c:\…"

en indiquant pour ce type de Provider le nom physique du fichier Access.


II ) L'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

Dim MaCommande as Command
Set MaCommande = New Command
With MaCommande ' Evite de retaper MaCommande sur chaque ligne
      .ActiveConnection = MaConnexion
      .CommandText = "select * from vehicule"
      .Execute
End With



Démarche ADO (Active X Data Object)

1. Tout d'abord il faut déclarer la variable associée à la connexion.

Dim MaConnexion As Connection

'Ouverture d'une connexion

Set MaConnexion = New Connection

2. Définir le Provider, c'est à dire le type de fournisseur de données:

MaConnexion.Provider = "Microsoft.Jet.oledb.4.0"

3. Ouvrir la connexion grâce à la méthode Open

MaConnexion.Open "c:\…"

Il faut indiquer pour ce type de Provider le nom physique du fichier Access

Exemple : "d:\TestADO\ Test ADO sans DSN .mdb "


Utiliser une requête

L’objet Recordset permet à une application d’accéder aux données renvoyées par une requête SQL. Cette requête peut être crée par l’application ou peut résider sur le serveur en tant que procédure stockée.

Principales propriétés de l’objet Recordset.


Notion de curseurs

Les curseurs permettent de se déplacer dans un Jeu d’enregistrements




Les verrouillages

Nous pouvons également indiquer au jeu d’enregistrements comment verrouiller les données aux cours de leur manipulation via le curseur.




Exemple

 

Dans un premier temps nous allons créer dans un module une constante de type chaîne qui va contenir le nom physique de la base (ce qui nous permettra de modifier une seule fois la constante le cas échéant).

Public Const NomBaseMDB = "d:\TestADO\ Test ADO sans DSN .mdb"

1. Déclaration de la source de donnée et du recordset

Option Explicit
Dim MaConnexion As Connection
Dim MaRequete As Recordset

Private Sub Form_Load()

   
Set MaConnexion = New Connection
   
With MaConnexion
      
.Provider = "Microsoft.Jet.oledb.4.0" ' 3.51 pour access 97
      
.Open NomBaseMDB '
   
End With

   Set MaRequete = New Recordset
     With MaRequete
      .ActiveConnection = MaConnexion
      .Open "select * from T_Clients" , , adOpenDynamic, adLockPessimistic
   End With

End Sub

Un recordset peut utiliser plusieurs types de curseurs, ici , adOpenDynamic pour permettre les différentes options de parcours :

'Définir le curseur pour pouvoir se déplacer en arrière dans une requête. Sinon par défaut la requête est de type en avant seulement.

MaRequete.CursorType = adOpenDynamic

'Retirer le verrouillage pour autoriser les modifications.

MaRequete.LockType = adLockOptimistic


[... End Of Tutorial ...]

 

15 mai 2006 14:57:40 :
- Changement du lien vers les images d'illustration qui n'était pas correct.
16 mai 2006 08:58:06 :
Changement du lien source des image qui était incorrect.
16 mai 2006 11:41:26 :
Mise a jour des liens images
16 mai 2006 16:40:58 :
Dernière modification des images après un leger passage à vide du site je pense... enfin tout est rentré dans l'ordre et le tutorial est enfin complet :-)
signaler à un administrateur
Commentaire de Akita95 le 16/05/2006 16:34:26

Les liens vers les images ne doivent pas être bons pour les visiteurs. Les modifications du tutorial que j'ai effectué ne sont pas prises en compte donc... :(

signaler à un administrateur
Commentaire de Akita95 le 16/05/2006 16:54:31

Tout est ok, si il y a encore des problèmes merci de me prévenir :-)

Bon dev a tous !!

Akita

signaler à un administrateur
Commentaire de econs le 18/05/2006 10:50:26 administrateur CS

Simple et bien présenté ! Idéal pour un début !

signaler à un administrateur
Commentaire de Le Cyd le 26/05/2006 18:04:58

Ce sont de tres bonnes explications.
Je remercie celui qui l'a fait car il m'a beaucoup aide dans la realisation de mon programme.

signaler à un administrateur
Commentaire de couro le 29/05/2006 18:57:31

bien fait j apprecie vraiment

signaler à un administrateur
Commentaire de douif le 30/05/2006 12:22:29

bonjour,
c'est simo de Marrakech Merci bien pour ce tutorial car il est tres interessant pour moi, il est bien présenter aussi chose qui me facilite l'utilisation de ce code.
merci encore une fois.

signaler à un administrateur
Commentaire de rabat_prince le 03/06/2006 19:42:38

j'ai tres bien saisie merci

signaler à un administrateur
Commentaire de sidkfree le 17/06/2006 19:27:59

exelent travail

signaler à un administrateur
Commentaire de micSchumi le 25/06/2006 01:07:38

Facilité de compréhension... Bon boulot.

signaler à un administrateur
Commentaire de hambouch le 26/06/2006 09:25:28

felicitation merci pour ce tutorial pour les débutant

signaler à un administrateur
Commentaire de cat06 le 17/07/2006 11:22:39

Bravo pour ce tutorial ..mais est ce que ça marche depuis un programme fait en VB5 ?

signaler à un administrateur
Commentaire de wtor le 17/07/2006 12:41:27

merci pour ce tut c'est du bon travail mais..........
comment créer une connexion (type client server) vers une base de donnée existante sur un serveur et comment parametrer le serveur pour que le client puisse se connecter avec la base de donnée
et merci d'avance pour vos réponse

signaler à un administrateur
Commentaire de medcasa le 29/09/2006 14:07:37

merci pour le tutoriel mais je vx savoir si ça marche avec vb.net

signaler à un administrateur
Commentaire de djoli le 30/01/2007 13:08:25

magnifiquement bien expliqué! du courage!

signaler à un administrateur
Commentaire de lamane le 22/02/2007 13:19:14

ben frenchement je n'est pas pu comprendre :

ce que je veut est qu'un exemple qui montre une selection mise a jour et insertion via le code sachant que les infos seront collecté depuis l'interface

salutation :)

signaler à un administrateur
Commentaire de le lycan le 07/03/2007 15:13:03

Impécablement concis, voila un tuto qui me sert directement. Merci donc! Cependant j'ai encore un peu de mal à différencier les objets command et recordset. Serait-il possible d'ajouter un exemple d'utilisation propre de l'objet command svp. Dans tous les cas encore merci!!!!

signaler à un administrateur
Commentaire de madiha_74 le 25/06/2007 17:38:07

sincérement!! je vous remercie bcp c'est une parfaite expliquation!! bonne continuation!!

signaler à un administrateur
Commentaire de pitch95 le 23/10/2007 08:22:23

Bon début, mais la collection Parameters a été oublié et c'est ce que je cherche
(Execution d'une requete Access avec passage de parametres)

signaler à un administrateur
Commentaire de xsaiddx le 20/09/2008 05:22:28

jaime bcp ce tut il est vraiment bien illustree si qlq connait des tut comme celui ci fair moi le savoir :]
merci

signaler à un administrateur
Commentaire de xsaiddx le 21/09/2008 15:45:35

salut j'ai pas pu trouve cette refference j'ai Microsoft Activex  plugin
quelqu'un peut m'aider
merci

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,016 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.