[VBA Access] traitement d'erreurs sur cases à cocher [Résolu]

Messages postés
75
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
23 août 2006
- - Dernière réponse : cs_observatoire
Messages postés
75
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
23 août 2006
- 19 avril 2006 à 16:12
Bonjour,
Je réalise une interface utilisateur sur Access, avec plusieurs groupes d'option de cases à cocher. Cette interface a pour but de genérer des requête à partir de la sélection de l'utilisateur. Je suis en train de prévoir un message d'erreur (à partir de "if...then") dans le cas où l'utilisateur n'aurait pas remplit l'ensemble du formulaire. Seulement il ne suffit pas d'agir sur les conditions "cadre1.value<>1..." car quand on ne coche aucune case d'un groupe d'option "cadre1.value" n'est pas reconu.
Comment peut-on reconnaître un groupe d'option dont aucune case n'a été cochée?
Si vous avez une solution plus simple que "if...then" à me proposer pour la gestion des erreurs, je suis preneuse (quand tout le formulaire n'est pas rempli, la sélection SQL de mon programme qui génére la requête est incomplète, ce qui provoque une erreur)


En espérant que quelqu'un puisse me répondre!!


Merci d'avance
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
316
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
31 août 2006
1
3
Merci
Private Sub Commande0_Click()
Dim f As Integer
On Error Resume Next
Err.Clear

ConditionEnr (f)
Requete 'je génère un code SQL, qui est incomplet à cause des cases qui n'ont pas été cochées


If Err.Number = 3075 Then
MsgBox "La retauration de l'application en fonctionnement Monoposte s'est correctement déroulée!", vbInformation
ElseIf Err.Number = 3141 Then
MsgBox "La retauration de l'application en fonctionnement Monoposte s'est correctement déroulée!", vbInformation
ElseIf Not Err.Number = 0 Then
MsgBox "Des erreurs sont apparue au cours du traitement. ", vbCritical
End If


End Sub

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 136 internautes nous ont dit merci ce mois-ci

Messages postés
316
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
31 août 2006
1
0
Merci
pourquoi ne pas passer par une gestion d'erreur?

au début de ton code tu colle un On Error Resume Next pour ne pas être ennuyé sur chaque erreurs rencontré
Tu peut alors rajouter en dessous un err.Clear pour ré-initialyser le gestionnaire d'erreurs
Enfin à la fin de ton code tu colle ton ou tes message(s) d'avertissement.

If err.Number = ?? Then ' remplace les deux ?? par le numéro de l'eerreur qui apparait lorsque ton formulaire n'est pas correctement remplis
MsgBox "La retauration de l'application en fonctionnement Monoposte s'est correctement déroulée!", vbInformation
ElseIf Not err.Number = 0 then
MsgBox "Des erreurs sont apparue au cours du traitement. ", vbCritical
End If
Messages postés
75
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
23 août 2006
0
Merci
ça n'a pas l'air de marcher, peut-être ne l'ai-je pas placé où il faut. Au tout début du code ou à la fin ça bug et je ne peut plus rien faire sur mon formulaire. Alors j'ai mis ça au moment où j'actionne le bouton de lancement de la requête:

Private Sub Commande0_Click()


Dim f As Integer
ConditionEnr (f)
Requete 'je génère un code SQL, qui est incomplet à cause des cases qui n'ont pas été cochées


On Error Resume Next
Err.Clear


If Err.Number = 3075 Then
MsgBox "La retauration de l'application en fonctionnement Monoposte s'est correctement déroulée!", vbInformation
ElseIf Err.Number = 3141 Then
MsgBox "La retauration de l'application en fonctionnement Monoposte s'est correctement déroulée!", vbInformation
ElseIf Not Err.Number = 0 Then
MsgBox "Des erreurs sont apparue au cours du traitement. ", vbCritical
End If


End Sub

Malgrè ça je récupère bien le message d'erreur habituel, avec les numéros d'erreur 3075 et 3141 !!!
Messages postés
75
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
23 août 2006
0
Merci
En fait c'est bon j'ai compris:

Private Sub Commande0_Click()
On Error Resume Next
Err.Clear


Dim f As Integer
ConditionEnr (f)
Requete 'je génère un code SQL, qui est incomplet à cause des cases qui n'ont pas été cochées


If Err.Number = 3075 Then
MsgBox "La retauration de l'application en fonctionnement Monoposte s'est correctement déroulée!", vbInformation
ElseIf Err.Number = 3141 Then
MsgBox "La retauration de l'application en fonctionnement Monoposte s'est correctement déroulée!", vbInformation
ElseIf Not Err.Number = 0 Then
MsgBox "Des erreurs sont apparue au cours du traitement. ", vbCritical
End If


End Sub

merci