Tester l'existance d'une Requête : Erreur sur Currentdb
Bonjour le forum !
Aujourd'hui j'aborde les requêtes, et le moins qu'on puisse dire c'est que je patauge un peu.
Pour le moment, j'essaie de tester si une requête du nom choisi existe, et si oui la supprimer.
Voici le code :
Function fnExistQuery(nompur As String) As Boolean
'Charger la librairie Microsoft DAO 3.6 Object Library pour QueryDef
'Charger la librairie Microsoft Office 12.0 Access Connectivity Engine
Dim qry As DAO.QueryDef
Dim Db As DAO.Database
Set Db = CurrentDb
For Each qry In Db.QueryDefs
If qry.Name = nompur Then
fnExistQuery = True
Exit For
End If
Next qry
End Function
Sub lecture()
'Charger la librairie Microsoft DAO 3.6 Object Library pour QueryDef
Dim chemin$, nom$, CONFIG_FILE$, nompur$
Dim qry As DAO.QueryDef
ThisWorkbook.Sheets("Edition").Select
With ThisWorkbook.Sheets("Configuration")
chemin = .Range("B1").Value
If Var = Right(chemin, 1) <> "\" Then
chemin = chemin & "\"
End If
nom = .Range("B2").Value
If Var = Right(nom, 4) <> ".ini" Then
nom = nom & ".ini"
End If
nompur = Left(nom, Len(nom) - 4)
End With
CONFIG_FILE = chemin & nom
If fnExistQuery(nompur) = True Then
DoCmd.DeleteObject acQuery, nompur
End If
'Suit la création de la requète
end subDonc on démarre sur la Sub Lecture(), arrivé à If fnExistQuery(nompur) = True on passe sur la Fonction au dessus.
L'erreur est sur la ligne Set Db = CurrentDb : Erreur 424 : Objet Requis. J'avais la même en enlevant cette ligne et en remplaçant Db par CurrentDb sur les lignes d'en dessous.
Au niveau de mes References, j'ai :
- Visual Basic for Application
- Microsoft Office 16.0 Object Library
- Microsoft 3.6 DAO Object Library
- OLE Automation (qui me sert dans un autre fichier)
- Microsoft Office 16.0 Object Library
J'ai tenté de rajouter Microsoft Office 16.0 Access Database Engine Object Library mais ça veut pas.
Une idée d'où je me loupe ?