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

cs_observatoire 75 Messages postés vendredi 10 mars 2006Date d'inscription 23 août 2006 Dernière intervention - 19 avril 2006 à 11:57 - Dernière réponse : cs_observatoire 75 Messages postés vendredi 10 mars 2006Date d'inscription 23 août 2006 Dernière intervention
- 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
Tuning Max 316 Messages postés mercredi 15 juin 2005Date d'inscription 31 août 2006 Dernière intervention - 19 avril 2006 à 16:11
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

Merci Tuning Max 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Tuning Max 316 Messages postés mercredi 15 juin 2005Date d'inscription 31 août 2006 Dernière intervention - 19 avril 2006 à 12:20
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
cs_observatoire 75 Messages postés vendredi 10 mars 2006Date d'inscription 23 août 2006 Dernière intervention - 19 avril 2006 à 14:53
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 !!!
cs_observatoire 75 Messages postés vendredi 10 mars 2006Date d'inscription 23 août 2006 Dernière intervention - 19 avril 2006 à 16:12
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.