cs_raff
Messages postés
182
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
5 janvier 2004
3
11 sept. 2002 à 03:25
Bon alors petit tutorial sur ado et access....
1) ajouter une référence à microsoft active x 2.x
2 ) besoin de trois objets le premier étant un objet connexion, que tu déclares en tant que...
dim cn as new adodb.connexion
3) un objet command qui peut prendre plusieurs formes, que tu déclares ainsi...
dim cmd as new adodb.command
4) un objet recordset, qui va chercher les données puis réserve une place pour eux dans la mémoire et puis peut aussi modifier la base de données ou faire des ajouts ....
dim rs as new rs.recordset
5) le code...énormément de variations possibles, en voici une...
'le fameux jet engine pour office 2000
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Properties("Data Source")= "C:/mabase.mdb"
cn.Open
'une commande texte (style sql) qui sera utilisée plus tard lors de la création du recordset
cmd.ActiveConnection = cn
cmd.CommandText = "SELECT * FROM Table"
'ici la syntaxe est la suivante : SELECT Champ1, Champ2, Champ3, ... FROM Table"
'* veut dire "tous", et si les noms de champs ou de tables contiennent des espaces, alors il faut mettre en [] donc ex : [Champ 1]
'lorsque tu es pret à aller chercher les données, tu "set" le recordset (curseur, open)
rs.cursorlocation = aduseclient
rs.cursortype = adopendynamic
rs.locktype = adlockpessimistic
rs.open cmd
'le recordset va donc cherche la ligne de commande et l'exécute. Les propriétés du recordset permettent de cette facon la lecture, l'écriture.
L'essentiel par la suite est de travailler avec le recordset, de manière à aller chercher les données. Les méthodes sont diverses, moi j'utilise beaucoup la méthode filter, et find aussi. Exemple :
rs.filter "Table1 #Noir#"
La syntaxe est parfois difficile à saisir, en général :
le nom de la table
un opérateur (=, <, >, <>, <=, >=) ou autre (comme le mot LIKE)
puis le caractère ou la valeur à rechercher/filtrer
j'utilise les ## pour encadrer un string, car utiliser les "" portent à confusion. Si tu dois rechercher une variable, la syntaxe est particulière :
MaValeur = "Allo"rs.Filter "Table1 '" & MaValeur & "'"
ou
rs.Filter = "Table1 LIKE '*" & MaValeur & "*'"
ours.Filter "Table1 #Allo# AND Table2 = #Bon#"
etc.
Le recordset va alors se décharger de tous les enregistrement non correspondant. Tu peux ensuite utiliser la syntaxe suivante pour obtenir des informations sur les enregistrements effectifs :
text1.text = rs!Champ1 'par défaut le rs est sur le premier enregistrement
ou
rs.move 4
text1.text = rs!Champ1
ou
for i = 1 to rs.recordcount
list1.add rs!Champ1
next i
ou
do while rs.eof = false
list1.add rs!Champ1
loop
etc etc etc......
voilà peut-être tu savais tout ça mais bon, d'autres profiteront surement de ce petit tutorial pour commencer avec ado.......
a+ raff