OVH Cloud OVH Cloud

Tester l'existence d'une requete

2 réponses
Avatar
jduv
bonjour,
Peut on à l'ouverture d'un formulaire tester l'existence d'un requete dont
le nom est connu ("R_toto" par exemple) pour pouvoir la supprimer et la
réecrire avec de nouveaux parametres ?
Merci d'avance
--
@+ Jérôme

Sub creerrequete(Nom As String, SQL As String)
Dim MaCom As New ADODB.Command
Dim MCat As New ADOX.Catalog
Set MCat.ActiveConnection = CurrentProject.Connection
MaCom.CommandText = SQL
MCat.Procedures.Append Nom, MaCom
Set MCat = Nothing
Set MaCom = Nothing
End Sub

2 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

Si le but est au final d'effacer la requête, le plus simple est peut-être
de faire une gestion d'erreur pour intercepter l'erreur lorsque tu voudras
la supprimer même si elle n'existe pas, genre ::

Function Toto
On error goto ErrToto

DoCmd.DeleteObject acQuery, "TaRequete"
{suite de ton code...}

ErrToto:
If Err.Number = 3011 Then
Resume Next
Else
MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description,
vbCritical
End If
End function
--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"jduv" a écrit dans le message de
news:
bonjour,
Peut on à l'ouverture d'un formulaire tester l'existence d'un requete dont
le nom est connu ("R_toto" par exemple) pour pouvoir la supprimer et la
réecrire avec de nouveaux parametres ?
Merci d'avance
--
@+ Jérôme

Sub creerrequete(Nom As String, SQL As String)
Dim MaCom As New ADODB.Command
Dim MCat As New ADOX.Catalog
Set MCat.ActiveConnection = CurrentProject.Connection
MaCom.CommandText = SQL
MCat.Procedures.Append Nom, MaCom
Set MCat = Nothing
Set MaCom = Nothing
End Sub


Avatar
jduv
Merci
C'est effectivement plus simple
Re merci
--
@+ Jérôme



Bonjour

Si le but est au final d'effacer la requête, le plus simple est peut-être
de faire une gestion d'erreur pour intercepter l'erreur lorsque tu voudras
la supprimer même si elle n'existe pas, genre ::

Function Toto
On error goto ErrToto

DoCmd.DeleteObject acQuery, "TaRequete"
{suite de ton code...}

ErrToto:
If Err.Number = 3011 Then
Resume Next
Else
MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description,
vbCritical
End If
End function
--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"jduv" a écrit dans le message de
news:
bonjour,
Peut on à l'ouverture d'un formulaire tester l'existence d'un requete dont
le nom est connu ("R_toto" par exemple) pour pouvoir la supprimer et la
réecrire avec de nouveaux parametres ?
Merci d'avance
--
@+ Jérôme

Sub creerrequete(Nom As String, SQL As String)
Dim MaCom As New ADODB.Command
Dim MCat As New ADOX.Catalog
Set MCat.ActiveConnection = CurrentProject.Connection
MaCom.CommandText = SQL
MCat.Procedures.Append Nom, MaCom
Set MCat = Nothing
Set MaCom = Nothing
End Sub