Vba access : gestion d'erreur malgré DoCmd.SetWarnings False

Vba access : gestion d'erreur malgré DoCmd.SetWarnings False - VB/VBA/VBS - Programmation

Marsh Posté le 22-04-2005 à 11:37:55    

Bonjour,
 
Au sein de modules VBA sous access j'utilise DoCmd.SetWarnings False pour éviter les avertissements d'access concernant l'execution de requetes création de table, ajout ou mise à jour.
 
Mais DoCmd.SetWarnings False présente le défaut de masquer aussi les erreurs (de clef, de valdation ou autre) qui peuvent survenir.
 
Connaissez vous une solution qui permette de masquer les avertissement mais de détecter les erreurs ?
 
Merci

Reply

Marsh Posté le 22-04-2005 à 11:37:55   

Reply

Marsh Posté le 22-04-2005 à 12:16:31    

Pour strapper la demande de confirmation d'une requête action: Regarde la méthode Execute ...

Reply

Marsh Posté le 23-04-2005 à 08:57:28    

Merci
Pour ceux qui sont aussi béotien que moi voila ce que cela donne :
 
au lieu de  
  DoCmd.SetWarnings False
  DoCmd.OpenQuery latable, acNormal, acEdit
  DoCmd.SetWarnings True
 
je fais  
Dim MABASE As Database
Dim qdfParmQry As QueryDef
 Err = 0
 Set qdfParmQry = MABASE.QueryDefs("TOTO" )
 On Error Resume Next
 MABASE.Execute qdfParmQry.SQL, dbFailOnError
 If Err > 0 Then Traite_erreur
 
Et ainsi je ne suis pas géné par les avertissements qui ne sont pas des erreurs mais je traite les erreurs.


Message édité par kilimanjaro le 23-04-2005 à 09:01:56
Reply

Marsh Posté le 24-06-2005 à 09:19:53    

hum, ton code est incomplet.
 
il manque l'affectation d'une reference à ton objet MABASE, sans ca tu ne peu pas appeller la methode .QueryDefs("nom de la requete a executer" ):
 
voila le code en entier:
 
Dim MABASE As Database
Dim qdfParmQry As QueryDef
 Err = 0
 Set MABASE = CurrentDb()  
 Set qdfParmQry = MABASE.QueryDefs("nom de la requete a executer" )
 On Error Resume Next
 MABASE.Execute qdfParmQry.SQL, dbFailOnError
 If Err > 0 Then Traite_erreur

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed