Liaison Visual basic et les tables Access

chrisbaby12 Messages postés 11 Statut Membre -  
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
j'ecrit un programme en Visual Basic et voudrais utiliser les tables Access comme fichier de stockage.
la liaison VB Access me pose problème. Pouvez-vous m'aider s'il vous plait !
Merci d'avance.
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Voilà un exemple pour interfacer VB à Access.

    '////////////////////////////////////////////////////
    '//     MODULE DAO D'INTERFACE AVEC
    '//         LA BASE DE DONNEES
    '//*******************************************
    '// Nécessite la référence :
    '// Microsoft DAO x.x Object Library
    '//*******************************************
    '// Auteur : Polux31 (2006)
    '//
    '//Compatibilité : VB6 [x] - VBA [x] - VB.NET [ ]
    '///////////////////////////////////////////////////////////////
    
    
    Option Explicit     '/!\ Déclaration des variables obligatoire
    
    
    Private bdd As Database     'Objet Database
    Private rs As Recordset     'Objet Recordset
    Public nb As Long           'Variable compteur
    Public errDescpt As Variant 'Variable pour contenir les msg d'erreur
    
    Private Const myBdd = "C:\Base_De_Donnees\bd1.mdb"   'Chemin et nom de la base
    
    'Procédure d'ouverture de la base
    Public Sub open_bdd()
        Set bdd = OpenDatabase(myBdd)
    End Sub
    
    'procédure de fermuture de la base
    Public Sub close_bdd()
        bdd.Close
    End Sub
    
    'Fonction qui retourne le recordset
    Public Function getRs() As Recordset
        Set getRs = rs
    End Function
    
    '**************************************************************
    'Fonctions pour naviguer dans le recordset
    '
    Public Function lirePremier(rs As Recordset) As Boolean
    
        On Error Resume Next
        rs.MoveFirst
    
        If Err.Number <> 0 Then
            lirePremier = False
        Else
            lirePremier = True
        End If
        
    End Function
    '
    Public Function lireDernier(rs As Recordset) As Boolean
    
        On Error Resume Next
        rs.MoveLast
        
        If Err.Number <> 0 Then
            lireDernier = False
        Else
            lireDernier = True
        End If
        
    End Function
    '
    Public Function lirePrecedent(rs As Recordset) As Boolean
    
        On Error Resume Next
        rs.MovePrevious
        
        If Err.Number <> 0 Then
            lireSuivant = False
        Else
            lireSuivant = True
        End If
        
    End Function
    '
    Public Function lireSuivant(rs As Recordset) As Boolean
    
        On Error Resume Next
        rs.MoveNext
        
        If Err.Number <> 0 Then
            lireSuivant = False
        Else
            lireSuivant = True
        End If
        
    End Function
    '
    ' fin fonctions de navigation
    '***********************************************************
    
    'Fonction qui permet de passer une requête à la base
    'Paramètre d'entrée : Query - la requete SQL
    'Paramètre de sortie : Booléen
    '
    Public Function open_Recordset(ByVal Query As String) As Boolean
        
        'gestion des exceptions, en cas d'erreur on n'arrête pas l'appli
        On Error Resume Next
        'ouverture de la base
        open_bdd
        'on récupère dans le recordset (rs) le résultat de la requête (query) passée à la base
        Set rs = bdd.OpenRecordset(Query)
        nb = rs.RecordCount
    
        'on se place sur le premier enregistremet
        rs.MoveFirst
        'on gère l'execption
        If Err.Number <> 0 Then     'si il n'y a pas d'erreur alors
            open_Recordset = False    'on retourne faux
            errDescpt = Err.Number & " - " & Err.Description & ": [" & Query & "]"
            MsgBox errDescpt 
            Exit Function   'on sort de la fonction
        Else                        'sinon
            open_Recordset = True             'on retourne vrai
        End If                      'fin si
        
        Set rs = Nothing
        
    End Function
    


    Bon courage

    ;o)
    Polux
    -1