Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

État : Message "Sur aucune donnée"

2 réponses
Avatar
butch
Bonjour,

Configuration : Windows XP - Access XP

J'ai placé dans la propriété "Sur aucune donnée" d'un état, le code suivant :

Private Sub Report_NoData(Cancel As Integer)
MsgBox "Aucune donnée n'existe pour l'année demandée !" & Chr(13) & Chr(13)
& "(ou une erreur a été commise lors de l'inscription de l'année)." & Chr(13)
& Chr(13) & "Au besoin, recommencez."
Cancel = True
End Sub

Ce message s'affiche correctement si effectivement, aucune donnée n'existe
pour une année inscrite par l'usager. Toutefois, en cliquant sur le bouton
"OK" pour fermer ce message, Access affiche un autre message (général) soit
"L'action OpenReport a été annulée". Ce deuxième message d'Access est donc
inutile mais oblige quand même à le fermer !

Pourtant, il y a d'autres états dans la BD qui utilisent une procédure
semblable pour faire afficher un message afin d'éviter de produire un état
vide et je n'ai pas le problème du "message complémentaire" d'Access avec
ceux-ci !

Quelqu'un a une idée de l'endroit où il y a une erreur ?

--
Merci pour votre aide :-)
Butch

P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.

2 réponses

Avatar
3stone
Salut,

"butch"
| Configuration : Windows XP - Access XP
|
| J'ai placé dans la propriété "Sur aucune donnée" d'un état, le code suivant :
|
| Private Sub Report_NoData(Cancel As Integer)
| MsgBox "Aucune donnée n'existe pour l'année demandée !" & Chr(13) & Chr(13)
| & "(ou une erreur a été commise lors de l'inscription de l'année)." & Chr(13)
| & Chr(13) & "Au besoin, recommencez."
| Cancel = True
| End Sub
|
| Ce message s'affiche correctement si effectivement, aucune donnée n'existe
| pour une année inscrite par l'usager. Toutefois, en cliquant sur le bouton
| "OK" pour fermer ce message, Access affiche un autre message (général) soit
| "L'action OpenReport a été annulée". Ce deuxième message d'Access est donc
| inutile mais oblige quand même à le fermer !
|
| Pourtant, il y a d'autres états dans la BD qui utilisent une procédure
| semblable pour faire afficher un message afin d'éviter de produire un état
| vide et je n'ai pas le problème du "message complémentaire" d'Access avec
| ceux-ci !


Il faut gérer cela dans le code d'appel d'ouverture de l'état !
Et plus spécialement dans le code d'erreur qui est 2501 pour une annulation.


DoCmd.OpenReport ("ton_rapport", ... )


err_LeBouton_Click:
If Err.Number <> 2501 Then
MsgBox Err.Number & " " & Err.Description
Resume Exit_LeBouton_Click
End If



--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
butch
Bonjour Pierre,

Merci beaucoup... ça fonctionne super. J'ai noté et conservé la
modification au code du bouton car j'aurai probablement souvent besoin de
cela.

---
Merci pour votre aide :-)
Butch

P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.



Salut,

"butch"
| Configuration : Windows XP - Access XP
|
| J'ai placé dans la propriété "Sur aucune donnée" d'un état, le code suivant :
|
| Private Sub Report_NoData(Cancel As Integer)
| MsgBox "Aucune donnée n'existe pour l'année demandée !" & Chr(13) & Chr(13)
| & "(ou une erreur a été commise lors de l'inscription de l'année)." & Chr(13)
| & Chr(13) & "Au besoin, recommencez."
| Cancel = True
| End Sub
|
| Ce message s'affiche correctement si effectivement, aucune donnée n'existe
| pour une année inscrite par l'usager. Toutefois, en cliquant sur le bouton
| "OK" pour fermer ce message, Access affiche un autre message (général) soit
| "L'action OpenReport a été annulée". Ce deuxième message d'Access est donc
| inutile mais oblige quand même à le fermer !
|
| Pourtant, il y a d'autres états dans la BD qui utilisent une procédure
| semblable pour faire afficher un message afin d'éviter de produire un état
| vide et je n'ai pas le problème du "message complémentaire" d'Access avec
| ceux-ci !


Il faut gérer cela dans le code d'appel d'ouverture de l'état !
Et plus spécialement dans le code d'erreur qui est 2501 pour une annulation.


DoCmd.OpenReport ("ton_rapport", ... )


err_LeBouton_Click:
If Err.Number <> 2501 Then
MsgBox Err.Number & " " & Err.Description
Resume Exit_LeBouton_Click
End If



--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/