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

pb vba sur fermeture formulaire Access 2003

2 réponses
Avatar
the viper
Bonjour
J'ai un formulaire de recherche qui me permet d'ouvrir un autre formulaire
trié sur les critères de recherches. Quand il y a des données, tout
fonctionne.
Ce que je veux faire, c'est quand il n'y a pas de données, un message
s'affiche disant qu'il n'y a pas de données et qu'il me ferme le formulaire
trié et rouvre le form de recherche.

Le pb c'est qu'il m'ouvre quand même le formulaire sans donnée. Voila la
fonction:

Private Sub Form_Open(Cancel As Integer)
On Error GoTo Form_Open_Err

If IsNull([N° Commande]) Then
Beep
MsgBox "Il n'y a pas de Pièce correspondant à la demande spécifiée",
vbInformation, "Avertissement"
DoCmd.Close , "frm Resultats Commandes", acSaveNo

'Si OpenForm est actif, cela plante Access
'DoCmd.OpenForm "frm Recherche Commandes", acNormal, "", "", , acNormal
DoCmd.Close , acForm, "frm Resultats Commandes"
End If

Form_Open_Exit:
Exit Sub

Form_Open_Err:
'MsgBox Error$
Resume Form_Open_Exit

End Sub

Merci de votre aide

2 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

Déjà est-ce que ton message s'affiche ?

Si oui, le mieux serait de ne pas fermer le formulaire où tu mets tes
critère mais
de décider de le fermer au moment de l'ouverture du 2ème :

Private Sub Form_Open(Cancel As Integer)
If IsNull([N° Commande]) Then
MsgBox "Il n'y a pas de Pièce correspondant à la demande spécifiée",
_
vbInformation, "Avertissement"
cancel = true
Else
Docmd.close "frm Recherche Commandes"
End If
End Sub

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"the viper" a écrit dans le message
news:
Bonjour
J'ai un formulaire de recherche qui me permet d'ouvrir un autre formulaire
trié sur les critères de recherches. Quand il y a des données, tout
fonctionne.
Ce que je veux faire, c'est quand il n'y a pas de données, un message
s'affiche disant qu'il n'y a pas de données et qu'il me ferme le
formulaire

trié et rouvre le form de recherche.

Le pb c'est qu'il m'ouvre quand même le formulaire sans donnée. Voila la
fonction:

Private Sub Form_Open(Cancel As Integer)
On Error GoTo Form_Open_Err

If IsNull([N° Commande]) Then
Beep
MsgBox "Il n'y a pas de Pièce correspondant à la demande spécifiée",
vbInformation, "Avertissement"
DoCmd.Close , "frm Resultats Commandes", acSaveNo

'Si OpenForm est actif, cela plante Access
'DoCmd.OpenForm "frm Recherche Commandes", acNormal, "", "", ,
acNormal

DoCmd.Close , acForm, "frm Resultats Commandes"
End If

Form_Open_Exit:
Exit Sub

Form_Open_Err:
'MsgBox Error$
Resume Form_Open_Exit

End Sub

Merci de votre aide


Avatar
the viper
Merci

Cela m'a aidé à avancer. Il me reste juste à supprimer le message "L'action
OpenForm a été annulée" à faire disparaitre.


Bonjour

Déjà est-ce que ton message s'affiche ?

Si oui, le mieux serait de ne pas fermer le formulaire où tu mets tes
critère mais
de décider de le fermer au moment de l'ouverture du 2ème :

Private Sub Form_Open(Cancel As Integer)
If IsNull([N° Commande]) Then
MsgBox "Il n'y a pas de Pièce correspondant à la demande spécifiée",
_
vbInformation, "Avertissement"
cancel = true
Else
Docmd.close "frm Recherche Commandes"
End If
End Sub

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"the viper" a écrit dans le message
news:
Bonjour
J'ai un formulaire de recherche qui me permet d'ouvrir un autre formulaire
trié sur les critères de recherches. Quand il y a des données, tout
fonctionne.
Ce que je veux faire, c'est quand il n'y a pas de données, un message
s'affiche disant qu'il n'y a pas de données et qu'il me ferme le
formulaire

trié et rouvre le form de recherche.

Le pb c'est qu'il m'ouvre quand même le formulaire sans donnée. Voila la
fonction:

Private Sub Form_Open(Cancel As Integer)
On Error GoTo Form_Open_Err

If IsNull([N° Commande]) Then
Beep
MsgBox "Il n'y a pas de Pièce correspondant à la demande spécifiée",
vbInformation, "Avertissement"
DoCmd.Close , "frm Resultats Commandes", acSaveNo

'Si OpenForm est actif, cela plante Access
'DoCmd.OpenForm "frm Recherche Commandes", acNormal, "", "", ,
acNormal

DoCmd.Close , acForm, "frm Resultats Commandes"
End If

Form_Open_Exit:
Exit Sub

Form_Open_Err:
'MsgBox Error$
Resume Form_Open_Exit

End Sub

Merci de votre aide