Bienvenue dans ce tutorial qui, je l'espère, vous apprendra à vous connecter à une base de données Access en utilisant l'ADO.
Petite explication rapide de l'ADO tout d'abord... ADO permet d'accéder à des données et de les manipuler. Les objets contenus dans ADO assurent la connexion à une source de données ainsi que la lecture, l'ajout, la mise à jour ou la suppression de données.
Merci Microsoft pour la définition...!
Tout d'abord, il y a certaines références à cocher...
Dans le menu Projets - Références, Microsoft AtiveX Data Objects 2.x Library.
Ensuite, il faut établir une connexion avec la base. Pour cela, on utilise l'objet 'connection' :
Dim con as ADODB.Connection Set con = New ADODB.Connection
Ensuite, il faut définir le pilote ainsi que la chaine de connexion :
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="Chemin de la base"
Puis, ouvrir la connexion :
con.open
Si vous devez traiter une base de données assez grande et que vous ouvrez souvent votre connexion, je conseille de mettre tout ce que nous avons vu dans un module, et d'appeler à chaque fois le module. Par exemple si le module s'appelle SeConnecter :
Call module1.SeConnecter(con)
Voilà pour ce qui est de la connexion. Passons désormais à la phase de manipulation des données.
Pour cela, il faut utiliser des requêtes, de la même manière que sous Access, avec insert into, update, delete, select ... .
Tout d'abord, déclarer la variable de type Recordset :
Dim rs as ADODB.Recorset Set rs = New Recordset
Puis pour exécuter la requête :
rs.Open " select [nomduchamp * from [nomdelatable] where ..., con, AdopenDynamic, AdLockOptimistic
Et pour le résultat :
res = rs![nomduchamp *
Il y a quelques propriétés à connaitre pour les résultats des Recordset :
rs.movefirst : Se place sur le premier enregistrement
rs.Movenext : Se place sur le prochain enregistrement
rs.Movelast : Se place sur le dernier enregistrement
rs.Moveprevious : Se place sur l'enregistrement précedent
rs.EOF : Fin des enregistrement (End of File)
rs.BOF : Début des enregistrements (Begin Of File)
EOF et rs.BOF s'utilisent surtout dans des boucles.
Par exemple :
While rs.EOF = False AddItem rs![nomduchamp * Wend
Pour des valeurs à l'intérieur des requêtes prises dans des textbox, des listbox ou autres, si ces données sont de la forme Text, il faut les présenter ainsi :
'" & Text1.Text & "',
Pour des Numériques : " & Text1.Text & "',
et pour les dates : # " & Text1.Text & " #.
Exemple :
rs.open "select * from matable where monchamp = '" & Text1.text & "';",con, AdOpenDynamic, AdLockOptimistic
Après avoir utilisé; une requête, il faut la fermer : rs.close
Et de même pour la connexion : con.close
Et pour plus de sécurité, c'est à dire pour être sur que la connexion est bien fermée faire :
Set rs = Nothing
Set con = Nothing
Voilà donc une des manières de se connecter à une base de données Access... Il en existe bien d'autres, mais j'espère pouvoir vous les présenter plus tard... En espérant que ce tutorial vous sera utile, bonne programmation!
Tof008