Connection entre acces et VB

vb666 Messages postés 3 Statut Membre -  
vb666 Messages postés 3 Statut Membre -
Bonjour,
comment etablir une connection entre acces et VB afin de faire entrer et resevoir des donnes schasant que j'utilise windows XP

2 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
    -1
    1. vb666 Messages postés 3 Statut Membre
       
      je vous remercie pour votre aide mais je voudrait savoir quelle sont les etapes a mettre pour etablire une connection au ODBC
      0
    2. vb666 Messages postés 3 Statut Membre
       
      merci malgrer tout
      0
  2. Polux31 Messages postés 7219 Statut Membre 1 204
     
    ôÔ ...
    0