OVH Cloud OVH Cloud

Récupération de paramètre

21 réponses
Avatar
olid
Bonjour,

Je recherche de l'aide pour régler mon problème qui est le suivant

Dans un formulaire, j'ai mis des champs de sélection et j'ai un bouton me
permettant d'ouvrir un état en filtrant les données sur les champs de
sélection
==> Me.Filter = "Saison like" & "'" & Me![[COLLECTIONa]] & "'" & "and " ....
==> Me.FilterOn = True
==> DoCmd.OpenReport stDocName, acPreview, Me.Filter, Me.Filter

A la fermeture de l'état, je reviens sur mon formulaire

J'aimerais récupérer dans les champs du formulaire les données que j'ai
passées en filtre à l'ouverture de l'état

Merci de votre aide

10 réponses

1 2 3
Avatar
olid
J'ai presque réglé mon problaine !!!

J'ai le formulaire "menu général" que j'ai en fond d'écran
Sans fermer mon formulaire "menu général" j'ouvre mon formulaire de
sélection et ensuite en cliquant sur le bouton j'ouvre l'état

Quand je clique sur le bouton, j'ai maintenant caché mon formulaire de
sélection
A l'ouverture de mon état, je ferme formulaire "menu général"
A la fermeture de l'état :
j'ouvre le formulaire "menu général" et je rends visible mon formulaire de
sélection

résultat : le formulaire "menu général" est affiché, mais pas mon formulaire
de sélection
si à la fermeture de l'état je mets en commentaire l'ouverture du formulaire
"menu général", mon formulaire de sélection s'affiche de nouveau

La question est la suivante :
Après la fermeture de mon état, comment je peux ouvrir mon formulaire "menu
général" et mettre mon formulaire de sélection devant mon formulaire "menu
général"


re,

"olid"
| Ok mais dans les propriétés du formluaire, je n'ai pas la propriété "visible"
| comme pour un bouton (ou je ne sais pas où chrercher)


un exemple...
http://mypage.bluewin.ch/w.stucki/Formulaires.htm#MasquerFrm


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
3stone
Salut,

"olid"
| J'ai presque réglé mon problaine !!!
|
| J'ai le formulaire "menu général" que j'ai en fond d'écran
| Sans fermer mon formulaire "menu général" j'ouvre mon formulaire de
| sélection et ensuite en cliquant sur le bouton j'ouvre l'état
<snip>


...mais tu n'avais pas dit que tu avais plusieurs formulaires ouverts ;-)


Pour résoudre cela définitivement, sans t'occuper du nombre et de la
méthode d'ouverture des formulaires, utilise ceci :
http://www.mvps.org/accessfr/reports/rpt0003.htm
comme alternative au simple "docmd.openreport"

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
olid
Où mettre ce code ?
Quand j'ouvre l'état => sur ouverture je rentre dans la procédure
événementielle,
j'ai "Private Sub Report_Open(Cancel As Integer)"
alors le code de la fonction commence par "Sub OpenReport"

Merci de ton aide

Salut,

"olid"
| J'ai presque réglé mon problaine !!!
|
| J'ai le formulaire "menu général" que j'ai en fond d'écran
| Sans fermer mon formulaire "menu général" j'ouvre mon formulaire de
| sélection et ensuite en cliquant sur le bouton j'ouvre l'état
<snip>


....mais tu n'avais pas dit que tu avais plusieurs formulaires ouverts ;-)


Pour résoudre cela définitivement, sans t'occuper du nombre et de la
méthode d'ouverture des formulaires, utilise ceci :
http://www.mvps.org/accessfr/reports/rpt0003.htm
comme alternative au simple "docmd.openreport"

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
3stone
re,

"olid"
| Où mettre ce code ?
| Quand j'ouvre l'état => sur ouverture je rentre dans la procédure
| événementielle,
| j'ai "Private Sub Report_Open(Cancel As Integer)"
| alors le code de la fonction commence par "Sub OpenReport"


tu es sûr que tu t'es donné la peine de lire _toute_ la page ?

:o)


Place le code dans un module général (onglet Module)
et utilise la fonction "OpenReport" du module en lieu et place
de ce que tu utilise actuellement!


Donc, tu remplace ton DoCmd.OpenReport "MonEtat"....

par la fonction OpenReport("MonEtat", .... )



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
olid
Désolé mais ce n'était pas très clair pour moi
j'ai mis le code dans une module

et dans le formulaire j'ai mis le code suivant
Dim Result As String
Me.Filter = "Saison like" & "'" & Me![[COLLECTIONa]] & "'" & "and
"......
Me.FilterOn = True

Result = OpenReport("HOSES - RQ Pointex Détail ventes Edit", acPreview,
Me.Filter, Me.Filter)

Quand je compile le code j'ai le message suivant : "fonction ou variable
attendue"
alors que j'ai bien 4 champs passés en paramètre


re,

"olid"
| Où mettre ce code ?
| Quand j'ouvre l'état => sur ouverture je rentre dans la procédure
| événementielle,
| j'ai "Private Sub Report_Open(Cancel As Integer)"
| alors le code de la fonction commence par "Sub OpenReport"


tu es sûr que tu t'es donné la peine de lire _toute_ la page ?

:o)


Place le code dans un module général (onglet Module)
et utilise la fonction "OpenReport" du module en lieu et place
de ce que tu utilise actuellement!


Donc, tu remplace ton DoCmd.OpenReport "MonEtat"....

par la fonction OpenReport("MonEtat", .... )



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
3stone
re,

"olid"
| Désolé mais ce n'était pas très clair pour moi

oui, je vois ;-)


| j'ai mis le code dans une module
|
| et dans le formulaire j'ai mis le code suivant
| Dim Result As String
| Me.Filter = "Saison like" & "'" & Me![[COLLECTIONa]] & "'" & "and
| "......
| Me.FilterOn = True
|
| Result = OpenReport("HOSES - RQ Pointex Détail ventes Edit", acPreview, Me.Filter, Me.Filter)


Pourquoi enseigne tu deux fois le filtre ???
Tu es sûr de connaitre les paramètres du "DoCmd.Openreport" normal ?

le quatrième est le "Where" que tu n'utilise pas...
N'aies pas peur d'utiliser la touche F1 si tu veux progresser !


pour toi, ceci devrait fonctionner :

Result = OpenReport("HOSES - RQ Pointex Détail ventes Edit", acPreview, Me.Filter)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
olid
J'ai fais les changements
mais j'ai toujours le même message
erreur compile : fonction ou variable attendue

dans mon module j'ai
Sub OpenReport(ReportName As String, Optional View As Integer, Optional _
FilterName As String, Optional WhereCondition As String)

dans l'appel j'ai
Result = OpenReport("HOSES - RQ Pointex Détail ventes Edit", acPreview,
Me.Filter)


re,

"olid"
| Désolé mais ce n'était pas très clair pour moi

oui, je vois ;-)


| j'ai mis le code dans une module
|
| et dans le formulaire j'ai mis le code suivant
| Dim Result As String
| Me.Filter = "Saison like" & "'" & Me![[COLLECTIONa]] & "'" & "and
| "......
| Me.FilterOn = True
|
| Result = OpenReport("HOSES - RQ Pointex Détail ventes Edit", acPreview, Me.Filter, Me.Filter)


Pourquoi enseigne tu deux fois le filtre ???
Tu es sûr de connaitre les paramètres du "DoCmd.Openreport" normal ?

le quatrième est le "Where" que tu n'utilise pas...
N'aies pas peur d'utiliser la touche F1 si tu veux progresser !


pour toi, ceci devrait fonctionner :

Result = OpenReport("HOSES - RQ Pointex Détail ventes Edit", acPreview, Me.Filter)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
Eric
Bonjour olid,

Je m'immisce mais je pense que tu devrais mettre :
Call OpenReport("HOSES - RQ Pointex Détail ventes Edit", acPreview,
Me.Filter)
à la place de
Result = OpenReport("HOSES - RQ Pointex Détail ventes Edit", acPreview,
Me.Filter)

Call permet d'appeler une procédure, à laquelle ici tu passes les 3
arguments

J'ai fais les changements
mais j'ai toujours le même message
erreur compile : fonction ou variable attendue

dans mon module j'ai
Sub OpenReport(ReportName As String, Optional View As Integer, Optional _
FilterName As String, Optional WhereCondition As String)

dans l'appel j'ai
Result = OpenReport("HOSES - RQ Pointex Détail ventes Edit", acPreview,
Me.Filter)



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

Avatar
olid
Bonjour Eric,
J'ai fais le call
A la fermeture de mon état seul, malheureusement seul le formulaire de
sélection est de nouveau visible

J'ai mis des display juste après la ligne DoCmd.OpenReport de la fonction
==> MsgBox "form 2 " & loFormArray(intX)
Quand j'exécute : mon display affiche en premier le libellé de mon
formulaire de sélection et ensuite le nom du formulaire du menu général
les deux formulaire sont en modal et indépendant


Bonjour olid,

Je m'immisce mais je pense que tu devrais mettre :
Call OpenReport("HOSES - RQ Pointex Détail ventes Edit", acPreview,
Me.Filter)
à la place de
Result = OpenReport("HOSES - RQ Pointex Détail ventes Edit", acPreview,
Me.Filter)

Call permet d'appeler une procédure, à laquelle ici tu passes les 3
arguments

J'ai fais les changements
mais j'ai toujours le même message
erreur compile : fonction ou variable attendue

dans mon module j'ai
Sub OpenReport(ReportName As String, Optional View As Integer, Optional _
FilterName As String, Optional WhereCondition As String)

dans l'appel j'ai
Result = OpenReport("HOSES - RQ Pointex Détail ventes Edit", acPreview,
Me.Filter)



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




Avatar
3stone
Salut,

"olid"
| J'ai fais le call
| A la fermeture de mon état seul, malheureusement seul le formulaire de
| sélection est de nouveau visible



Transforme la Sub OpenReport() en Function OpenReport et tu pourra
l'appeller par Call ou x=OpenReport()

La fonction, à condition quelle soit copiée sans erreur, ferme *tous* les
formulaires et à la fermeture de l'état les ouvrent tous dans l'ordre inverse!

Si cela ne fonctionne pas correctement chez toi, regarde si tu à bien
copié le code (faire un copier/coller) et vérifie si tu n'as pas de vieux
code qui traîne chez toi.

L'avantage de cette fonction est de justement l'utiliser de la même
façon que le Docmd.OpenReport avec le mêmes paramètres.



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
1 2 3