Connection entre acces et VB

Fermé
vb666 Messages postés 3 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 8 août 2008 - 8 août 2008 à 08:49
vb666 Messages postés 3 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 8 août 2008 - 8 août 2008 à 10:59
Bonjour,
comment etablir une connection entre acces et VB afin de faire entrer et resevoir des donnes schasant que j'utilise windows XP
A voir également:

2 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
8 août 2008 à 08:58
Bonjour,

Voilà le module pour une connexion ADODB. Il y a la méthode de connexion à la base, une fonction pour passer un recordset et des fonctions pour naviguer dans le recordset :

'==========================================='
'                 ADODB                     '
'-------------------------------------------'
'          Module Base de données           '
'                                           '
' Auteur : Polux31 - 2003                   '
' E-mail : ##############                     '
'==========================================='

'///////////////////////////////////////////////////////////////
'// NE PAS OUBLIER DE COCHER DANS PROJET --> REFERENCES ...
'// Microsoft ActiveX Data Objects x.x Library
'///////////////////////////////////////////////////////////////

Option Explicit

'/////////////////////////////////'
'// Variables globales du module
'/////////////////////////////////'
Private AdoCnx As ADODB.Connection
Private rs As Recordset
Private CmdSql As ADODB.Command
Private NbRs As Long

'////////////////////////////////'
'// Constantes à modifier selon le
'// le cas d'utilisation
'///////////////////////////////'
Private Const BDD = "c:\maBase.mdb"    ' mettre le chemin de la base
Private Const pw = ""                           ' mettre le mot de passe
Private Const user = ""                         ' mettre le user

'//////////////////////////////////////
'// Accesseurs des variables globales
'//////////////////////////////////////

'procédure qui stocke le nombre d'enregistrement dans le recordset
Public Sub setNbRs(ByVal nb As Integer)
    NbRs = nb
End Sub

'fonction qui retourne le nombre d'enregistrement dans le recordset
Public Function getNbRs() As Long
    getNbRs = NbRs
End Function

'fonction qui retourne le recordset
Public Function getRecordset() As ADODB.Recordset
    getRecordset = rs
End Function

'fonction qui retourne la connexion
Public Function getAdoCnx() As ADODB.Connection
    getAdoCnx = AdoCnx
End Function

'fonction qui retourne le chemin de la base de données
Public Function getBdd() As String
    getBdd = BDD
End Function


'//////////////////////////////////
'// Méthodes du module
'//////////////////////////////////

'procédure de connexion à la base de donnée

Public Sub ConnectBdd()
Dim CnxString As String
Dim chemin As String

chemin = App.Path & getBdd      'chemin d'accès à la Bdd

Set AdoCnx = New ADODB.Connection   'création de l'objet connexion

If AdoCnx.State = adStateOpen Then  'si la base est déjà ouverte alors on sort de la procédure
    MsgBox "La connection est déjà ouverte"
    Exit Sub
End If

        '======== Ouverture Access ============'
        '    A modifier pour autres bases      '
        '======================================'
        
CnxString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=" & chemin & ";" & _
                   "user ID=" & user & ";" & _
                   "password=" & pw & ";" & _
                  "Persist Security Info=False"

AdoCnx.Open CnxString   'passage de la chaine de connexion
AdoCnx.CursorLocation = adUseClient

On Error Resume Next

    If err <> 0 Or AdoCnx.State = adStateClosed Then    'si un erreur de connexion se produit
        MsgBox "Connection impossible avec la base"
        Exit Sub
    End If

End Sub

'fonction qui retourne un booléen.
'Paramètres entrées : la requête, l'objet recordset
'Passe la requête à la base de données et récupère le résultat dans le recordset
Public Function OpenRecordset(ByVal Requete As String, ByRef rs As ADODB.Recordset) As Boolean
    
On Error Resume Next
  
    On Error Resume Next
    rs.Open Requete, ModBdd.AdoCnx, , , adCmdText   'passage de la requête
    
    If err > 0 Then         'en cas d'erreur la fonction retourne Faux et on sort de la fonction
        OpenRecordset = False
        Exit Function
    End If
    
    rs.MoveFirst        'la connexion a réussi, on se place sur le 1er enregistrement
    NbRs = rs.RecordCount   'on compte le nombre de ligne retournée
    OpenRecordset = True  'la fonction retourne Vrai
    
End Function

'fonctions Suivant, Précédent, Premier, Dernier qui retourne un booléen.
'Paramètre entrée : l'objet recordset
'Fonctions qui permettent de parcourir les enregistrements d'un recordset
Public Function RSLireSuivant(ByRef rs As ADODB.Recordset) As Boolean

    On Error Resume Next
    rs.MoveNext
    If rs.EOF Then
        RSLireSuivant = False
        Exit Function
    End If
    
    If err <> 0 Then
        RSLireSuivant = False
        Exit Function
    End If
    
    RSLireSuivant = True
    
End Function

Public Function RSLirePrecedent(ByRef rs As ADODB.Recordset) As Boolean

    On Error Resume Next
    rs.MovePrevious
    If rs.BOF Then
        RSLirePrecedent = False
        Exit Function
    End If
    
    If err <> 0 Then
        RSLirePrecedent = False
        Exit Function
    End If
    
    RSLirePrecedent = True
    
End Function

Public Function RSLirePremier(ByRef rs As ADODB.Recordset) As Boolean

    On Error Resume Next
    rs.MoveFirst
    If err <> 0 Then
        RSLirePremier = False
        Exit Function
    End If
    
    RSLirePremier = True
    
End Function

Public Function RSLireDernier(ByRef rs As ADODB.Recordset) As Boolean

    On Error Resume Next
    rs.MoveLast
    If err <> 0 Then
        RSLireDernier = False
        Exit Function
    End If
    
    RSLireDernier = True
    
End Function


Bon courage

;o)

Polux
0
vb666 Messages postés 3 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 8 août 2008
8 août 2008 à 09:19
je vous remercie pour votre aide mais je voudrait savoir quelle sont les etapes a mettre pour etablire une connection au ODBC
0
vb666 Messages postés 3 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 8 août 2008
8 août 2008 à 10:59
merci malgrer tout
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
8 août 2008 à 09:30
ôÔ ...
0