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

état avec plusieurs variantes

6 réponses
Avatar
Guy du Lac
Bonjour à tous,

J'ai un état qui selon le formulaire qui l'appelle afficherait les résultats
demandés. Comment puis-je faire pour savoir quel est le formulaire activé? Je
voudrais utiliser quelque chose qui ressemble à cela dans la procédure ON
LOAD de mon état.

select case formulaire_ouvert
case "formulaire1"
la requete1

case "formulaire2"
la requete2
end select



--
Merci,
Guy du Lac

6 réponses

Avatar
Gilbert
Bonjour,

Tu peux utiliser le paramètre OpenArgs lors de l'ouverture de ton état par
ton formulaire.
DoCmd.OpenReport(ReportName, View, FilterName, WhereCondition, WindowMode,
OpenArgs)

Si tu utilises une version de Access (avant 2002 je crois) dans laquelle ce
paramètre n'existe pas, tu peux définir une variable globale dans un module.
Et tu initialises cette variable dans ton formulaire avant l'ouverture de
ton état;

Cordialement

Gilbert


"Guy du Lac" a écrit dans le message de
news:
Bonjour à tous,

J'ai un état qui selon le formulaire qui l'appelle afficherait les
résultats

demandés. Comment puis-je faire pour savoir quel est le formulaire activé?
Je

voudrais utiliser quelque chose qui ressemble à cela dans la procédure ON
LOAD de mon état.

select case formulaire_ouvert
case "formulaire1"
la requete1

case "formulaire2"
la requete2
end select



--
Merci,
Guy du Lac


Avatar
Guy du Lac
Bonjour Gilbert,

Je n'ai jamais utilisé de paramètre avant. Pourrais-tu m'expliquer comment
fonctionne le openArg et ou je met l'info pour que cela s'exécute.
--
Merci,
Guy du Lac



Bonjour,

Tu peux utiliser le paramètre OpenArgs lors de l'ouverture de ton état par
ton formulaire.
DoCmd.OpenReport(ReportName, View, FilterName, WhereCondition, WindowMode,
OpenArgs)

Si tu utilises une version de Access (avant 2002 je crois) dans laquelle ce
paramètre n'existe pas, tu peux définir une variable globale dans un module.
Et tu initialises cette variable dans ton formulaire avant l'ouverture de
ton état;

Cordialement

Gilbert


"Guy du Lac" a écrit dans le message de
news:
Bonjour à tous,

J'ai un état qui selon le formulaire qui l'appelle afficherait les
résultats

demandés. Comment puis-je faire pour savoir quel est le formulaire activé?
Je

voudrais utiliser quelque chose qui ressemble à cela dans la procédure ON
LOAD de mon état.

select case formulaire_ouvert
case "formulaire1"
la requete1

case "formulaire2"
la requete2
end select



--
Merci,
Guy du Lac







Avatar
Gloops
Salut,

J'ai utilisé OpenArgs dans Access 95, c'est bien pratique.

Si on ne veut pas mettre tous les paramètres (et potentiellement se
tromper dans le nombre de virgules), on peut l'utiliser en paramètre no mmé :

DoCmd.OpenReport NomDeLetat, OpenArgs:=NomDuFormulaireAppelant

et dans le code de l'état on retrouve OpenArgs avec la même valeur.
______________________________________
Gilbert a écrit, le 28/07/2007 15:59 :
Bonjour,

Tu peux utiliser le paramètre OpenArgs lors de l'ouverture de ton é tat par
ton formulaire.
DoCmd.OpenReport(ReportName, View, FilterName, WhereCondition, WindowMo de,
OpenArgs)

Si tu utilises une version de Access (avant 2002 je crois) dans laquell e ce
paramètre n'existe pas, tu peux définir une variable globale dans u n module.
Et tu initialises cette variable dans ton formulaire avant l'ouverture de
ton état;

Cordialement

Gilbert


Avatar
Gloops
Guy du Lac a écrit, le 28/07/2007 17:12 :
Bonjour Gilbert,

Je n'ai jamais utilisé de paramètre avant. Pourrais-tu m'expl iquer comment
fonctionne le openArg et ou je met l'info pour que cela s'exécute.


Ah, j'avais la berlue, je n'ai pas vu ta réponse avant d'avoir tapà © la
mienne ...

Pour ouvrir l'état tu utilises l'instruction DoCmd.OpenReport, j'ima gine
? Gilbert t'a indiqué comment la modifier (et j'y ai ajouté mon grain de
sel) pour y passer un paramètre.

Une fois que c'est fait, dans le code de l'état, tu retrouves OpenAr gs,
où tu peux lire la valeur passée. On peut mettre Me.OpenArgs si je me
rappelle bien, mais je suppose que les deux doivent passer.

Pour plus de détails et des exemples, tu peux aussi, dans la fenê tre
d'exécution (qui s'ouvre par Ctrl G), taper OpenArgs puis la touche F1.

Avatar
3stone
Salut,

"Gloops"
J'ai utilisé OpenArgs dans Access 95, c'est bien pratique.

Si on ne veut pas mettre tous les paramètres (et potentiellement se
tromper dans le nombre de virgules), on peut l'utiliser en paramètre nommé :

DoCmd.OpenReport NomDeLetat, OpenArgs:=NomDuFormulaireAppelant

et dans le code de l'état on retrouve OpenArgs avec la même valeur.



Avec Access 95 ??

Fort, très fort !
Car cela n'existe que depuis Access 2002 pour les états!

Cela devait sûrement être dans les formulaires...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)

Avatar
Gloops
3stone a écrit, le 29/07/2007 21:55 :
et dans le code de l'état on retrouve OpenArgs avec la même valeur .



Avec Access 95 ??

Fort, très fort !
Car cela n'existe que depuis Access 2002 pour les états!

Cela devait sûrement être dans les formulaires...



Effectivement, c'était entre formulaires, d'ailleurs entre autres ça
servait à rouvrir le formulaire appelant.

Pour les états le besoin a dû mettre plus longtemps à apparaître :
souvent on ouvre un état à partir d'un formulaire, donc le formulaire
peut contenir une variable publique.

Mais c'est vrai que si on est susceptible d'ouvrir l'état à partir de
plusieurs endroits, une variable dans un module risque d'être mieux, il
n'y a pas à ouvrir le module la contenant avant de la définir. D'où , à
force, l'intérêt d'une syntaxe plus simple. C'est vrai que ce
raffinement m'avait échappé.