Bonjour,
j'ai trouvé dans la faq cette technique pour tester l'existence d'une requète et pour la supprimer.
La suppression ne fonctionne pas.
J'obtiens systématiquement le message "Impossible de supprimer la requète".
Quelqu'un a-t'il une autre technique ou une solution ?
Pour info, j'ai testé en Debug et sur le test d'existence, je n'ai pas l'erreur 3265.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 Function testQuery(strName As String) As Boolean 'Pour fonctionner ce code nécessite la référence ' - Microsoft DAO X Object Library On Error GoTo err Dim oDb As DAO.Database Dim oQdf As DAO.QueryDef 'Accède à la base de données courante Set oDb = CurrentDb Set oQdf = oDb.QueryDefs(strName) 'Retourne Vrai testQuery = True fin: 'Libère les objets Set oDb = Nothing Set oQdf = Nothing Exit Function err: 'Remonte toutes les erreurs différents de l'erreur 3265 '(la requête n'existe pas) If err.Number <> 3265 Then err.Raise err.Number, err.Source, err.Description End If Resume fin End Function Sub SupprimerRequete(Nom As String) On Error GoTo err Dim MCat As New ADOX.Catalog Set MCat.ActiveConnection = CurrentProject.Connection MCat.Procedures.Delete (Nom) Set MCat = Nothing Exit Sub err: If err.Number = 3265 Then MsgBox "impossible de trouver la requete " & Nom End Sub
Voici mon code de suppression :
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 'Supprime le SQL si existe If testQuery(nom_qry) Then SupprimerRequete (nom_qry) End If
Partager