Bonjour
J'ai moi-même été confronté 2-3 fois au problème, et j'apporte ici le résultat de mes expérimentations.
On ne peut pas accéder directement à un fichier .accdb à partir d'Excel en utilisant le DAO.
La "bonne" solution consiste à utiliser l'ADO, comme indiqué par exemple ici.
Mais dans certains cas (exigence du client, question d'un stagiaire, ...), on doit passer par le DAO.
Un accès direct (avec le programme suivant) donnera un msg "format de base de données ... non reconnu"
L'astuce consiste alors, en partant d'Excel, à passer par Access pour ouvrir la base de données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub AvecDao() Dim db As DAO.Database Dim rst As DAO.Recordset Set db = DAO.DBEngine.OpenDatabase("c:\LaBase.accdb") Set rst = db.OpenRecordset("LaTable") Debug.Pring rst("LeChamp").Value rst.Close db.Close End Sub
En espérant que cette astuce pourra servir à qqu'un d'autre...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub AvecDAO_ViaAccess() Dim db As DAO.Database Dim acApp As New Access.Application Dim eng As DBEngine Dim rst As Recordset Set db = acApp.DBEngine.OpenDatabase("c:\MaBase.accdb") Set rst = db.OpenRecordset("LaTable") Debug.Pring rst("LeChamp").Value rst.Close db.Close Set acApp = Nothing End Sub
Yvan
Partager