]]>

mardi 20 mars 2007

Utilisation ADODB en vba

Voici un exemple d'utilisation ADODB pour une base de donnée Access. Il est développé en vba par Excel. Cela vous permet donc facilement de transférer des données de Access vers Excel

'Déclaration de la connection
Public connect As ADODB.Connection

'Subroutine de connection
Sub ConnDB(ByRef connect As ADODB.Connection, ByVal cheminBase As String)
connect.provider = "Microsoft.Jet.Oledb.4.0"
connect.ConnectionString = cheminBase
connect.Open
End Sub

'Subroutine principal
Sub Main()
Dim rs as New ADODB.Recordset 'Déclaration du recordset
Set connect = New ADODB.Connection 'Déclaration de la connection
ConnDB connect, "c:\base.mdb" 'connection à la base
requete = "SELECT * FROM produit WHERE couleur = 'jaune'" 'requete sql
rs.CursorType = adOpenKeySet
'je mets le CursorType sur adOpenKeySet pour pouvoir utiliser la fonction RecordCount
rs.Open requete, connect
nbre_ligne = rs.RecordCount
rs.MoveFirst
For ligne = 1 to nbre_ligne
Range("'[catalog.xls]Feuil1'!A" & ligne) = rs("Reference")
Range("'[catalog.xls]Feuil1'!B" & ligne) = rs("Modele")
Range("'[catalog.xls]Feuil1'!C" & ligne) = rs("couleur")
Range("'[catalog.xls]Feuil1'!D" & ligne) = rs("quantite")
rs.MoveNext
Next ligne
rs.Close
End Sub




N'oubliez pas d'activer la référence Microsoft Activex Data Object (dans Outils - Références)

A bientôt

Thomas

Aucun commentaire: