C'est juste un petit module de classe basé sur une source sur ce site.
C'est d'un niveau débutant. Il permet de se connecter à une base de données ACCESS ou une autre en ADODB.
Source / Exemple :
Option Explicit
' /// Variables pour la Connexion ADODB /////////////////////////////////////////////////////////////////////////////////////////
Private pdbConnection As New ADODB.Connection
Private pdbRecordsetADO As New ADODB.Recordset
' /// variables locales de stockage des valeurs de propriétés //////////////////////////////////////////////
Private cTempdbPath As String 'copie locale
Private cTempdbType As String 'copie locale
Private cTempdbUser As String 'copie locale
Private cTempdbDriver As String 'copie locale
Private cTempdbPassword As String 'copie locale
Private cTempdbServeur As String 'copie locale
Private cTempdbDSN As String 'copie locale
Private cTempdbName As String 'copie locale
Public Property Let dbName(ByVal vData As String)
cTempdbName = vData
End Property
Public Property Get dbName() As String
dbName = cTempdbName
End Property
Public Property Let dbDSN(ByVal vData As String)
cTempdbDSN = vData
End Property
Public Property Get dbDSN() As String
dbDSN = cTempdbDSN
End Property
Public Property Let dbServeur(ByVal vData As String)
cTempdbServeur = vData
End Property
Public Property Get dbServeur() As String
dbServeur = cTempdbServeur
End Property
Public Property Let dbPassword(ByVal vData As String)
cTempdbPassword = vData
End Property
Public Property Get dbPassword() As String
dbPassword = cTempdbPassword
End Property
Public Property Let dbDriver(ByVal vData As String)
cTempdbDriver = vData
End Property
Public Property Get dbDriver() As String
dbDriver = cTempdbDriver
End Property
Public Property Let dbUser(ByVal vData As String)
cTempdbUser = vData
End Property
Public Property Get dbUser() As String
dbUser = cTempdbUser
End Property
Public Property Let dbType(ByVal vData As String)
cTempdbType = vData
End Property
Public Property Get dbType() As String
dbType = cTempdbType
End Property
Public Property Let dbPath(ByVal vData As String)
cTempdbPath = vData
End Property
Public Property Get dbPath() As String
dbPath = cTempdbPath
End Property
' /// Ouverture de la Base de Données /////////////////////////////////////////////////////////////////////////
Public Function Connexion() As Long
On Error GoTo Connexion_Error
Select Case cTempdbType
Case "ACCESS"
pdbConnection.Provider = cTempdbDriver
pdbConnection.ConnectionString = cTempdbPath
pdbConnection.Open
Case "AUTRE"
If Len(cTempdbDSN) > 0 Then
pdbConnection.ConnectionString = "DSN=" & cTempdbDSN & "UID=" & cTempdbUser & ";PWD=" & cTempdbPassword & ";"
Else
pdbConnection.ConnectionString = "UID=" & cTempdbUser & ";PWD=" & cTempdbPassword & ";" & "DRIVER=" & cTempdbDriver & ";Server=" & cTempdbServeur & ";Database=" & cTempdbName & ";"
End If
pdbConnection.Open
End Select
On Error GoTo 0
Exit Function
Connexion_Error:
Connexion = Err.Number
' MsgBox "Erreur " & Err.Number & " (" & Err.Description & ") dans la procédure Connexion dans Module de classe cDataBase", vbCritical
End Function
' /// Envoi du RecordSet //////////////////////////////////////////////////////////////////////////////////////
Public Function OpenRecordSet(dbSQL As String, Optional dbOption) As ADODB.Recordset
On Error GoTo OpenRecordSet_Error
If dbSQL <> "" Then
pdbRecordsetADO.CursorLocation = adUseClient
pdbRecordsetADO.CursorType = adOpenDynamic
pdbRecordsetADO.LockType = adLockOptimistic
pdbRecordsetADO.Open dbSQL, pdbConnection
Set OpenRecordSet = pdbRecordsetADO
Set pdbRecordsetADO = Nothing
End If
On Error GoTo 0
Exit Function
OpenRecordSet_Error:
MsgBox "Erreur " & Err.Number & " (" & Err.Description & ") dans la procédure OpenRecordSet dans Module de classe cDataBase", vbCritical
End Function
' /// Exécution d'une Requête SQL /////////////////////////////////////////////////////////////////////////////
Public Sub Execute(dbSQL As String)
On Error GoTo Execute_Error
pdbConnection.Execute dbSQL
On Error GoTo 0
Exit Sub
Execute_Error:
MsgBox "Erreur " & Err.Number & " (" & Err.Description & ") dans la procédure Execute dans Module de classe cDataBase", vbCritical
End Sub
' /// Fermeture de la connexion avec la Base de Données ///////////////////////////////////////////////////////
Public Sub Fermeture()
On Error GoTo Fermeture_Error
pdbConnection.Close
Set pdbConnection = Nothing
On Error GoTo 0
Exit Sub
Fermeture_Error:
MsgBox "Erreur " & Err.Number & " (" & Err.Description & ") dans la procédure Fermeture dans Module de classe cDataBase", vbCritical
End Sub
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.