Tutorial pour adodb, ado

Soyez le premier à donner votre avis sur cette source.

Snippet vu 32 013 fois - Téléchargée 41 fois

Contenu du snippet

ce How To ADODB easy est un tutorial destine a aide les + ou - debutants pour se connecter a une DB en utilisant les commandes ADO ( et pas l'ancien DAO)
je l ai ecris en anglais paske je l ai fait pour des amis pas francais et en plus VB c est en anglais

Source / Exemple :


'          Welcome to GuLuCoM's How to ADODB easy.

 '           Please tell me what u think about this How To....   gulucom@hotmail.com

'    ->  3 ways to use ADODB :

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command

'-------------   Open the Database ----------------
     Set cn = New ADODB.Connection
     cn.ConnectionString = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source=TaBaS.mdb;Persist Security Info=False"
     cn.Open

1.
'--------------  Create a Command --------------
     Set cmd = New ADODB.Command
     cmd.CommandText = "authors"    ' table in the database
     cmd.CommandType = adCmdTable
     cmd.ActiveConnection = cn

'--------------- Create a Recordset --------------------
     Set rs = New ADODB.Recordset
     Set rs.Source = cmd
     rs.Open

2.
     Set rs = cn.Execute("select * from Table")    ' Execute opens the recordset

3.
   
     Set rs = New ADODB.Recordset
     rs.CursorType = adOpenKeyset
     rs.LockType = adLockOptimistic
     rs.Source = "TbEscort"
     rs.ActiveConnection = cn
     rs.Open

 '	Now let's play with our recordset (rs)
 
  ' - to add a new row in the recordset :

     rs.AddNew
     rs.Fields("First_Name") = x
     rs.Update

  ' - to keep the reference of a specific record
     Dim varBKM as Variant
     varBKM = rs.Bookmark

 '  - to move in the recordset
     rs.MoveNext
     rs.MoveLast
     ......
   
  ' - to find a specific record
     rs.Find "worker_name LIKE 'r*'"

  ' - to filter the recordset
     rs.Filter = "quantity > 30"

  ' - to sort the recordset
     rs.Sort = "order_date ASC"

  ' - to delete a record
     rs.Delete adAffectCurrent   ' -> default
               adAffectGroup         ' -> after filter
               adAffectAll

  ' - to rexecute the query
     rs.Requery

  ' - to update a field in the record
     rs.Update "worker_name", "david"

  ' - to save the recordset
     rs.Save "C:/MyRS.adtg", adPersistADTG
     or with ADO 2.1 rs.Save "C:/MyRS.xml", adPersistXML

  ' - to open 
     rs.Open "C:/MyRS.adtg", , adOpenStatic, adLockOptimistic, adComdFile

  ' - NEVER FORGET TO CLOSE 	
     rs.Close
     cn.Close
     Set rs = Nothing
     Set cn = Nothing

A voir également

Ajouter un commentaire

Commentaires

Messages postés
6
Date d'inscription
mercredi 19 août 2009
Statut
Membre
Dernière intervention
7 avril 2011

bonjour, je suis trés débutante en vba, j'ai besoin d'un peti aide,
donc voilà mon problém, j'utilise une base de données access ds mon code, on ne reconnait pas les types genre "database" "ADODB.application"..., je voulais savoir si ya une biblioték ou un fichier à importer , merci davance
Messages postés
30
Date d'inscription
lundi 9 octobre 2000
Statut
Membre
Dernière intervention
16 février 2010

Interresant, bon tutorial ...

Est-il possible d'assigner la valeur NULL a un champs, un truc du genre
# rs.Fields("First_Name") = NULL
# rs.Update

J'ai pas mal cherché sur le web, rien trouvé
Messages postés
9
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
25 juillet 2006

Bonjour,

voici mon code :

Mon problème est le suivant, le message "runtime error 3251 : le fournisseur actuel ne prend pas en charge l'interface nécessaire pour le tri ou le filtrage". Pourriez vous me dire pourquoi.

--------------------------------------

Dim conn As ADODB.Connection
Dim rs As ADODB.RecordSet

'ACCES A LA BASE DE DONNEES
Set conn = New ADODB.Connection
conn.ConnectionString = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source=U:\PI\SPC\Lien vers InSQL.mdb;Persist Security Info=False"
conn.Open
Set rs = New ADODB.RecordSet

Dim sql As String
'
sql = "SELECT * FROM Table_Batch"
'
'rs.Open sql, conn, adOpenKeyset, adLockPessimistic

Set rs = New ADODB.RecordSet
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Source = sql
rs.ActiveConnection = conn
rs.Open


'rs.MoveFirst
rs.Sort = "Grade ASC"

------------------------------------------

Merci.
Messages postés
1
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
21 avril 2006

Bonjour. J'ai exactement le même problème et je ne trouve aucune solution pour y remédier. Impossible de trouver comment lier une référence. Je suis sous Microsoft Visual Basic 6.3.
Merci d'avance
Messages postés
40
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
19 janvier 2009

Salut ! je suis novice, et j'ai moi aussi un problème avec ADODB.Connection. On m'affiche "type non défini".
D'après ce que j'ai lu plus haut, il faut activer des fichiers ("ActiveX Data Objects"), mais, je ne sais pas comment faire...

Je suis sous VB 2005 express, si qq'un pouvait m'aider !? Merci !
Afficher les 16 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (GuluCom)