OVH Cloud OVH Cloud

Positionner un formulaire au-dessus de tous les autres

4 réponses
Avatar
Régis Allevy
Bonjour à tous,

Je suis sûr d'avoir déjà lu quelque chose à ce sujet, mais ne le trouve
plus dans les aides et forums divers consultés depuis ces derniers jours.
Au démarrage d'une application Access, un formulaire "Accueil" s'ouvre
automatiquement. Sur l'évènement "Form_Open" de ce formulaire, je lance une
requête chargée de vérifier si il existe un enregistrement dans la table
"Evenements" un champs "DateEvenement" égal à la date du jour. Si non, ne
rien faire, si oui, afficher le formulaire "Evenements".
Jusque là, tout va bien :o)
Après <<DoCmd.OpenForm "F_Evenement", acNormal, , "([DateEv] = Date())">>
le formulaire s'ouvre. La procédure Form_Open du formulaire "Accueil" se
termine alors et le formulaire "Acceuil" s'ouvre......Par dessus le
formulaire "Evenements". Et je ne trouve pas la solution pour le faire
passer dessous. En Delphi, il me semble qu'il existait une fonction genre
"Show" qui supprimait ce problème.
J'espère avoir été clair et pas trop long,
Par avance, merci de vos lumières et de m'avoir lu,
Régis

4 réponses

Avatar
joyeux atchoum
bonjou

je peux te proposer d'utiliser la méthode setfocu
dans le genr

dim frm as for
set frm = forms("nom_du_form_principal"
frm.setfocu

tu me mets par exemplet à la fin de la gestion de ton évenemen

j
qui ....
Avatar
Régis Allevy
Merci bien joyeux atchoum de ta réponse, qui malheureusement ne semble pas
marcher. En effet, ne pouvant utiliser le "SetFocus" (sur frm Evenement)
qu'à l'intérieur de ma condition établie dans l'événement "OpenForm"(sur
frmAccueil), le dit formulaire d'accueil n'est pas encore ouvert lorsque
s'applique le SetFocus sur le frm Evenement. Du coup, frm Evenement s'ouvre,
prend le Focus, puis l'événement "OpenForm" (du frmAccueil) se termine, frm
Accueil s'ouvre et s'affiche sur frm Evenement.
Je viens de faire un essai en mettant mon code dans l'évènement "FormLoad"-
après avoir lu dans l'aide :"L'événement Chargement (Load) se produit
lorsqu'un formulaire est ouvert et que ses enregistrements sont affichés."
Il me semble que c'est faux. En mettant un point d'arrêt à l'intérieur de
cet évènement, le formulaire n'est pas affiché.
Je ne suis pas sûr d'être très clair.
Merci bien tout de même,
Régis

"joyeux atchoum" a écrit dans le
message de news:
bonjour

je peux te proposer d'utiliser la méthode setfocus
dans le genre

dim frm as form
set frm = forms("nom_du_form_principal")
frm.setfocus

tu me mets par exemplet à la fin de la gestion de ton évenement

ja
qui ....


Avatar
joyeux atchoum
S'l

je viens de tester pour voir et effectivement je tourne en bourrique comme toi ;

mais si cette gestion d'ouverture n'apparait qu'à l'ouverture de ta base de donnée ou à la suite d'un bouto

tu peux faire une fonction qui ouvre d'abord le formulaire d'accueil puis teste la validité et enfin en fonction de la validité ouvre ou non le second formulaire
et si je ne dis pas de bêtise le dernier formulaire ouvert auras le focu

en esperant que ça peut t'aide

j
qui n'est pas si convaincu de sa reponse
Avatar
Régis Allevy
Merci pour ta constance dans la lecture de mes appels au secours.
J'ai contourné le problème en faisant un peu comme tu m'as dit, c'est à dire
que j'ai crée un splash screen qui analyse la base, et si un évènement est à
afficher, le splash screen ouvre le formulaire d'évènement, et je n'ouvre le
formulaire d'accueil que sur le OnClose du formulaire évènement. Donc, ça
marche.

Merci et bonne année à tous, Régis

"joyeux atchoum" a écrit dans le
message de news:
S'lt

je viens de tester pour voir et effectivement je tourne en bourrique comme
toi ;)


mais si cette gestion d'ouverture n'apparait qu'à l'ouverture de ta base
de donnée ou à la suite d'un bouton


tu peux faire une fonction qui ouvre d'abord le formulaire d'accueil puis
teste la validité et enfin en fonction de la validité ouvre ou non le second

formulaire.
et si je ne dis pas de bêtise le dernier formulaire ouvert auras le focus

en esperant que ça peut t'aider

ja
qui n'est pas si convaincu de sa reponse