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

ouverture de formulaire automatique si critère trouvé

3 réponses
Avatar
Rodius1964
Bonjour,

Lorsque ma base de donnée s'ouvre, j'ai un formulaire appelé "home" qui
s'ouvre en fond d'écran.

Je voudrais joindre une procédure sous ouverture du formulaire "home" qui
permette l'ouverture d'un deuxième formulaire "Avertissement des Impayés"
uniquement si le critère de sélection est trouvé.

Explications :

1) j'ouvre la base de données
2) En fond d'écran j'ai mon formulaire "home"
3) Grâce à la procédure sous ouverture du formulaire "home"
a) Si ma requête Gestion des impayés comporte une valeur >30 (jours),
ouverture du formulaire "Avertissement des Impayés",
b) Si ma requête Gestion des impayés comporte une valeur <30 (jours), le
formulaire "Avertissement des Impayés" ne doit pas s'ouvrir.

J'ai essayé plusieurs définitions de procédures ainsi que des marcors, mais
à chaque fois, le formulaire s'ouvre de la manière suivante :
a) Si ma requête Gestion des impayés comporte une valeur >30 (jours),
le formulaire s'ouvre et me donne les informations sélectionnées
dans la
requête. -----> Ceci correspond donc à ce que je souhaite.
b) Si ma requête Gestion des impayés comporte une valeur <30 (jours),
le formulaire s'ouvre également mais sans aucune information.
------> Ceci ne correspond pas à ce que je souhaite, le formulaire
ne devrait
pas s'ouvrir dans ce cas là.

Ci-dessous un des exemples de code que j'ai essayé :

------------------------------------------------------
Private Sub Form_Open(Cancel As Integer)

DoCmd.OpenForm "Avertissement des Impayés", acNormal, , "JoursRetard>30"

End Sub
------------------------------------------------------

Je ne sais plus où donner de la tête. Si quelqu'un pouvait me mettre sur la
voix, où m'indiquer le code à saisir, ce serait un vrais soulagement.

Par avance je vous remercie à tous et à toutes pour votre aide.

Meilleures Salutations
A.M.

3 réponses

Avatar
Eric
Bonjour,

Sur Ouverture du formulaire "Home" en utilisant DLookup().

Private Sub Form_Open(Cancel As Integer)
If Not IsNull(DLookup("JoursRetard", "TaRequête",
"JoursRetard>30")) Then
DoCmd.OpenForm "Avertissement des Impayés"
End If
End Sub

Bonjour,

Lorsque ma base de donnée s'ouvre, j'ai un formulaire appelé "home" qui
s'ouvre en fond d'écran.

Je voudrais joindre une procédure sous ouverture du formulaire "home" qui
permette l'ouverture d'un deuxième formulaire "Avertissement des Impayés"
uniquement si le critère de sélection est trouvé.

Explications :

1) j'ouvre la base de données
2) En fond d'écran j'ai mon formulaire "home"
3) Grâce à la procédure sous ouverture du formulaire "home"
a) Si ma requête Gestion des impayés comporte une valeur >30 (jours),
ouverture du formulaire "Avertissement des Impayés",
b) Si ma requête Gestion des impayés comporte une valeur <30 (jours), le
formulaire "Avertissement des Impayés" ne doit pas s'ouvrir.

J'ai essayé plusieurs définitions de procédures ainsi que des marcors, mais
à chaque fois, le formulaire s'ouvre de la manière suivante :
a) Si ma requête Gestion des impayés comporte une valeur >30 (jours),
le formulaire s'ouvre et me donne les informations sélectionnées
dans la
requête. -----> Ceci correspond donc à ce que je souhaite.
b) Si ma requête Gestion des impayés comporte une valeur <30 (jours),
le formulaire s'ouvre également mais sans aucune information.
------> Ceci ne correspond pas à ce que je souhaite, le formulaire
ne devrait
pas s'ouvrir dans ce cas là.

Ci-dessous un des exemples de code que j'ai essayé :

------------------------------------------------------
Private Sub Form_Open(Cancel As Integer)

DoCmd.OpenForm "Avertissement des Impayés", acNormal, , "JoursRetard>30"

End Sub
------------------------------------------------------

Je ne sais plus où donner de la tête. Si quelqu'un pouvait me mettre sur la
voix, où m'indiquer le code à saisir, ce serait un vrais soulagement.

Par avance je vous remercie à tous et à toutes pour votre aide.

Meilleures Salutations
A.M.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Rodius1964
Eric,

super merci, finalement... c'est vraiment gentil de votre part.

J'ai juste un petit hic, c'est que mon formulaire s'ouvre derrière les
autres, et par conséquent je ne le vois pas si je ne déplace pas les autres
formulaires. Y a t il un moyen de le faire apparaitre devant tous les autres
formulaires ?

Merci encore pour votre aide
AM


Bonjour,

Sur Ouverture du formulaire "Home" en utilisant DLookup().

Private Sub Form_Open(Cancel As Integer)
If Not IsNull(DLookup("JoursRetard", "TaRequête",
"JoursRetard>30")) Then
DoCmd.OpenForm "Avertissement des Impayés"
End If
End Sub

Bonjour,

Lorsque ma base de donnée s'ouvre, j'ai un formulaire appelé "home" qui
s'ouvre en fond d'écran.

Je voudrais joindre une procédure sous ouverture du formulaire "home" qui
permette l'ouverture d'un deuxième formulaire "Avertissement des Impayés"
uniquement si le critère de sélection est trouvé.

Explications :

1) j'ouvre la base de données
2) En fond d'écran j'ai mon formulaire "home"
3) Grâce à la procédure sous ouverture du formulaire "home"
a) Si ma requête Gestion des impayés comporte une valeur >30 (jours),
ouverture du formulaire "Avertissement des Impayés",
b) Si ma requête Gestion des impayés comporte une valeur <30 (jours), le
formulaire "Avertissement des Impayés" ne doit pas s'ouvrir.

J'ai essayé plusieurs définitions de procédures ainsi que des marcors, mais
à chaque fois, le formulaire s'ouvre de la manière suivante :
a) Si ma requête Gestion des impayés comporte une valeur >30 (jours),
le formulaire s'ouvre et me donne les informations sélectionnées
dans la
requête. -----> Ceci correspond donc à ce que je souhaite.
b) Si ma requête Gestion des impayés comporte une valeur <30 (jours),
le formulaire s'ouvre également mais sans aucune information.
------> Ceci ne correspond pas à ce que je souhaite, le formulaire
ne devrait
pas s'ouvrir dans ce cas là.

Ci-dessous un des exemples de code que j'ai essayé :

------------------------------------------------------
Private Sub Form_Open(Cancel As Integer)

DoCmd.OpenForm "Avertissement des Impayés", acNormal, , "JoursRetard>30"

End Sub
------------------------------------------------------

Je ne sais plus où donner de la tête. Si quelqu'un pouvait me mettre sur la
voix, où m'indiquer le code à saisir, ce serait un vrais soulagement.

Par avance je vous remercie à tous et à toutes pour votre aide.

Meilleures Salutations
A.M.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Eric
re,

Le formulaire Home doit être positionné sur Fenêtre Indépendante à Oui.
Si tu ne veux pas basculer cette propriété sur Non, alors, mettre:
DoCmd.OpenForm "Avertissement des Impayés", , , , , acDialog

Si le critère est vrai, le formulaire "Avertissement des Impayés"
s'affichera avant le formulaire Home, qui lui n'apparaitra qu'après
fermeture de "Avertissement des Impayés", sinon c'est Home qui s'ouvre.

Eric,

super merci, finalement... c'est vraiment gentil de votre part.

J'ai juste un petit hic, c'est que mon formulaire s'ouvre derrière les
autres, et par conséquent je ne le vois pas si je ne déplace pas les autres
formulaires. Y a t il un moyen de le faire apparaitre devant tous les autres
formulaires ?

Merci encore pour votre aide
AM



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr