Positionner un formulaire au-dessus de tous les autres
4 réponses
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
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 ....
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 ....
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" <anonymous@discussions.microsoft.com> a écrit dans le
message de news:720BAF67-993C-4367-BE82-1A9D0B40B96A@microsoft.com...
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
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 ....
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
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
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
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
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" <anonymous@discussions.microsoft.com> a écrit dans le
message de news:506F6F57-97C3-41C3-9F13-E482F86C8C22@microsoft.com...
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
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