OVH Cloud OVH Cloud

Else dans If

3 réponses
Avatar
angela
Bonjour à tous,

Voici le soucis du jour :
Lorsque j'execute ce code il verifie bien les valeurs de mes champs ne se
positionne pas dans mon champs affiche 2 fois le message d'erreur et quitte
sans me laisser la possibilité de modifier mon champs.
Voici le code en question

Private Sub quitter1_Click()

If IsNull(Me!CodeNiv) Then MsgBox "CHAMPS NIVEAU EST OBLIGATOIRE",
vbExclamation
CodeNiv.SetFocus

If IsNull(Me!CodeLocal) Then
MsgBox "CHAMPS LOCAL EST OBLIGATOIRE", vbExclamation
End If
CodeLocal.SetFocus


On Error GoTo Err_quitter1_Click

DoCmd.Close

Exit_quitter1_Click:
Exit Sub

Err_quitter1_Click:
MsgBox Err.Description
Resume Exit_quitter1_Click

End Sub

POURQUOI.....!!!!!
MERCI d'avance
Angela

3 réponses

Avatar
Raymond [mvp]
Bonjour Angéla.

C'est normal, lorsque tu es passé sur tes deux erreurs tu fermes le
formulaire.

Private Sub quitter1_Click()
If IsNull(Me!CodeNiv) Then
MsgBox "CHAMPS NIVEAU EST OBLIGATOIRE", vbExclamation
CodeNiv.SetFocus
Exit Sub
End If
If IsNull(Me!CodeLocal) Then
MsgBox "CHAMPS LOCAL EST OBLIGATOIRE", vbExclamation
CodeLocal.SetFocus
Exit Sub
End If
DoCmd.Close
End Sub

on peut faire un peu plus simple mais c'est plus clair ainsi.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"angela" a écrit dans le message de
news:
Bonjour à tous,

Voici le soucis du jour :
Lorsque j'execute ce code il verifie bien les valeurs de mes champs ne se
positionne pas dans mon champs affiche 2 fois le message d'erreur et
quitte

sans me laisser la possibilité de modifier mon champs.
Voici le code en question

Private Sub quitter1_Click()

If IsNull(Me!CodeNiv) Then MsgBox "CHAMPS NIVEAU EST OBLIGATOIRE",
vbExclamation
CodeNiv.SetFocus

If IsNull(Me!CodeLocal) Then
MsgBox "CHAMPS LOCAL EST OBLIGATOIRE", vbExclamation
End If
CodeLocal.SetFocus


On Error GoTo Err_quitter1_Click

DoCmd.Close

Exit_quitter1_Click:
Exit Sub

Err_quitter1_Click:
MsgBox Err.Description
Resume Exit_quitter1_Click

End Sub

POURQUOI.....!!!!!
MERCI d'avance
Angela




Avatar
Damien Mermoz
Bonjour,

c'est simple tu ne quittes pas ta procédure après avoir afficher ton msg. La
conséquence c'est que le code s'exécute totalement quelque soit le résultat.
la solution :

Private Sub quitter1_Click()
On Error GoTo Err_quitter1_Click

If IsNull(Me!CodeNiv) Then
MsgBox "CHAMPS NIVEAU EST OBLIGATOIRE", vbExclamation
CodeNiv.SetFocus
exit sub
end if

If IsNull(Me!CodeLocal) Then
MsgBox "CHAMPS LOCAL EST OBLIGATOIRE", vbExclamation
CodeLocal.SetFocus
exit sub
end if

DoCmd.Close

Exit_quitter1_Click:
Exit Sub

Err_quitter1_Click:
MsgBox Err.Description
Resume Exit_quitter1_Click

End Sub

En espèrant t'aider.

A +
Damien.

"angela" a écrit dans le message news:

Bonjour à tous,

Voici le soucis du jour :
Lorsque j'execute ce code il verifie bien les valeurs de mes champs ne se
positionne pas dans mon champs affiche 2 fois le message d'erreur et
quitte

sans me laisser la possibilité de modifier mon champs.
Voici le code en question

Private Sub quitter1_Click()

If IsNull(Me!CodeNiv) Then MsgBox "CHAMPS NIVEAU EST OBLIGATOIRE",
vbExclamation
CodeNiv.SetFocus

If IsNull(Me!CodeLocal) Then
MsgBox "CHAMPS LOCAL EST OBLIGATOIRE", vbExclamation
End If
CodeLocal.SetFocus


On Error GoTo Err_quitter1_Click

DoCmd.Close

Exit_quitter1_Click:
Exit Sub

Err_quitter1_Click:
MsgBox Err.Description
Resume Exit_quitter1_Click

End Sub

POURQUOI.....!!!!!
MERCI d'avance
Angela




Avatar
angela
Merci à vous oh mes sauveurs
"angela" a écrit dans le message news:

Bonjour à tous,

Voici le soucis du jour :
Lorsque j'execute ce code il verifie bien les valeurs de mes champs ne se
positionne pas dans mon champs affiche 2 fois le message d'erreur et
quitte

sans me laisser la possibilité de modifier mon champs.
Voici le code en question

Private Sub quitter1_Click()

If IsNull(Me!CodeNiv) Then MsgBox "CHAMPS NIVEAU EST OBLIGATOIRE",
vbExclamation
CodeNiv.SetFocus

If IsNull(Me!CodeLocal) Then
MsgBox "CHAMPS LOCAL EST OBLIGATOIRE", vbExclamation
End If
CodeLocal.SetFocus


On Error GoTo Err_quitter1_Click

DoCmd.Close

Exit_quitter1_Click:
Exit Sub

Err_quitter1_Click:
MsgBox Err.Description
Resume Exit_quitter1_Click

End Sub

POURQUOI.....!!!!!
MERCI d'avance
Angela