Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/02/2011, 14h14   #1
Expert Confirmé
 
Avatar de Godzestla
 
Homme
Chercheur de bonheur
Inscription : août 2007
Messages : 2 255
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de bonheur
Secteur : Industrie

Informations forums :
Inscription : août 2007
Messages : 2 255
Points : 2 979
Points : 2 979
Par défaut problème pour supprimer une requete

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 ?
Code :
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
Pour info, j'ai testé en Debug et sur le test d'existence, je n'ai pas l'erreur 3265.

Voici mon code de suppression :
Code :
1
2
3
4
'Supprime le SQL si existe
If testQuery(nom_qry) Then
   SupprimerRequete (nom_qry)
End If
Merci d'avance.
__________________
(\ _ /) Cordialement G@dz
(='.'=)

(")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.
Godzestla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 15h00   #2
Membre habitué
 
Inscription : juillet 2010
Messages : 117
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2010
Messages : 117
Points : 140
Points : 140
Salutations,

Pour supprimer une requête tu peux faire comme cela :

Code :
CurrentDb.QueryDefs.Delete ("NomDeLaRequete")
Cordialement,
__________________
"Je suis capable du meilleur comme du pire, mais dans le pire, c'est moi le meilleur" Coluche.
Manhexter est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/02/2011, 21h48   #3
Expert Confirmé
 
Avatar de Godzestla
 
Homme
Chercheur de bonheur
Inscription : août 2007
Messages : 2 255
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de bonheur
Secteur : Industrie

Informations forums :
Inscription : août 2007
Messages : 2 255
Points : 2 979
Points : 2 979
Merci beaucoup Manhexter.
__________________
(\ _ /) Cordialement G@dz
(='.'=)

(")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.
Godzestla est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h46.


 
 
 
 
Partenaires

Hébergement Web