RechercheV à partir base de donnée ACCESS 2016

johanne raymond

XLDnaute Nouveau
Bonjour. Je tente une question et je souhaite d'avance votre indulgence car je suis plutôt novice.

J'ai une base de données access 2016 et je souhaite y faire une recherche dans Excel. J'ai lu et tenter d'appliquer la VBA functionRecherchevAccess de BoisGonthierJacques. Mais il y a un bug à l'exécution sur la ligne rep_appli = ActiveWorkbook.path. Je me suis assurer que ma base de donnée Acces 2016 sois dans le même dossier (même chemin) que mon fichier EXCEL et je me suis aussi assurer de Cocher DAO 3.6 dans Outils/Référence.

Code BoisGonthier

Function RecherchevAccess(ChampRecherche, valeurRecherche, champRetour, tbl, base)
'Cocher DAO 3.6 dans Outils/Référence
Dim bd As DAO.Database
Dim rs As DAO.Recordset
rep_appli = ActiveWorkbook.Path
fichier = rep_appli & "\" & base
Set bd = OpenDatabase(fichier)
Sql = "Select " & champRetour & " FROM " & tbl & " Where " & _
ChampRecherche & "='" & valeurRecherche & "'"
Set rs = bd.OpenRecordset(Sql)
RecherchevAccess = rs(champRetour)
rs.Close
bd.Close
End Function

Merci à l'avance à celle ou celui qu m'aidera.

Johanne
 

Lone-wolf

XLDnaute Barbatruc
Bonjour johanne et bienvenue sur XLD :), le Forum :)



Essaie de changer
rep_appli = ActiveWorkbook.Path
fichier = rep_appli & "\" & base

Par
rep_appli = ThisWorkbook.Path & "\"
fichier = rep_appli & base

Il faudrait aussi nous montrer ce que tu as écrit exactement dans la cellule.
 
Dernière édition:

chris

XLDnaute Barbatruc
Bonjour

Je ne pense pas que cela change quelque chose.

C'est la 1ère ligne de code qui n'a aucun lien avec Acces donc ce n'es pas cette ligne qui est en erreur à mon avis : quel est le message exact lors du lancement ?
 

chris

XLDnaute Barbatruc
Bonjour
Tu pouvais tout mettre dans un zip

DAO pas compatible avec les bases accdb

Code:
Function RecherchevAccess(ChampRecherche, valeurRecherche, champRetour, tbl, base)
'Cocher Microsoft Office 14.0 Access Database Engine dans Outils/Référence
Dim bd As Database
Dim rs As Recordset
rep_appli = ActiveWorkbook.Path
fichier = rep_appli & "\" & base
Set bd = OpenDatabase(fichier)
Sql = "Select " & champRetour & " FROM " & tbl & " Where " & _
ChampRecherche & "='" & valeurRecherche & "'"
Set rs = bd.OpenRecordset(Sql)
RecherchevAccess = rs(champRetour)
rs.Close
bd.Close
End Function
Pour 2016 c'est sans doute Microsoft Office 16.0 et non 14.0
 
Dernière édition:

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87