OVH Cloud OVH Cloud

Report: query

4 réponses
Avatar
Bruno
J'ai une form dans laquelle il y a une sous-form contenant une requête.
Dans la form, je sélectionne les informations que je veux voir apparaître
dans la sous-form. Par exemple, je sélectionne une date et toutes les info
concernant cette date apparaissent.

Plus bas, j'ai un bouton avec lequel je veux créer un fichier excel au moyen
de la commande "DoCmd.OutputTo acReport, stDocName, acFormatXLS, directory"
directory est le nom du chemin complet.

J'ai un report qui pointe sur la même requête que la sous-forme. L'ennui est
que le rapport n'est pas modifiable comme la sous-forme. Du coup, il créé le
fichier excel avec les mêmes infos.

Tandis qu'avec la commande "DoCmd.OpenReport stDocName, acNormal, requet",
on peut le faire car il y a le paramètre "FilterName".

J'avais essayé "mon_report.recordsource=requette" mais ça ne marche pas.
Ma question est: "peut-on modifier les infos du report en fonction de la
requête?"

4 réponses

Avatar
3stone
Salut,

"Bruno"
| J'ai une form dans laquelle il y a une sous-form contenant une requête.
| Dans la form, je sélectionne les informations que je veux voir apparaître
| dans la sous-form. Par exemple, je sélectionne une date et toutes les info
| concernant cette date apparaissent.
|
| Plus bas, j'ai un bouton avec lequel je veux créer un fichier excel au moyen
| de la commande "DoCmd.OutputTo acReport, stDocName, acFormatXLS, directory"
| directory est le nom du chemin complet.
|
| J'ai un report qui pointe sur la même requête que la sous-forme. L'ennui est
| que le rapport n'est pas modifiable comme la sous-forme. Du coup, il créé le
| fichier excel avec les mêmes infos.
|
| Tandis qu'avec la commande "DoCmd.OpenReport stDocName, acNormal, requet",
| on peut le faire car il y a le paramètre "FilterName".
|
| J'avais essayé "mon_report.recordsource=requette" mais ça ne marche pas.
| Ma question est: "peut-on modifier les infos du report en fonction de la
| requête?"


Tu dois ouvrir ton état en mode création...

DoCmd.OpenReport stDocName, acViewDesign

puis lui attribuer son recordsource et l'ouvrir normalement!


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Bruno
Salut,
J'ai tapé ceci:
Dim stDocName, directory As String

stDocName = "mon_report"
directory = "..............xls"
DoCmd.OpenReport stDocName, acViewDesign, ma_subform.Form.RecordSource
DoCmd.OutputTo acReport, stDocName, acFormatXLS, directory

Ca ouvre bien le report mais le résultat dans le fichier excel est le même.
Il met toutes les données de la requête d'origine. C'est comme si il n'avait
pas pris compte la nouvelle requête.

J'avais essayé une autre méthode. J'avais tapé ceci:
Dim rapport As report
Set rapport = Reports("mon_report")

Ca me fait un message d'erreur pour la 2ème ligne:
"The report name "mon_report" you entered is misspelled or refers to a
report that isn't open or doesn't exist.


"3stone" wrote:

Salut,

"Bruno"
| J'ai une form dans laquelle il y a une sous-form contenant une requête.
| Dans la form, je sélectionne les informations que je veux voir apparaître
| dans la sous-form. Par exemple, je sélectionne une date et toutes les info
| concernant cette date apparaissent.
|
| Plus bas, j'ai un bouton avec lequel je veux créer un fichier excel au moyen
| de la commande "DoCmd.OutputTo acReport, stDocName, acFormatXLS, directory"
| directory est le nom du chemin complet.
|
| J'ai un report qui pointe sur la même requête que la sous-forme. L'ennui est
| que le rapport n'est pas modifiable comme la sous-forme. Du coup, il créé le
| fichier excel avec les mêmes infos.
|
| Tandis qu'avec la commande "DoCmd.OpenReport stDocName, acNormal, requet",
| on peut le faire car il y a le paramètre "FilterName".
|
| J'avais essayé "mon_report.recordsource=requette" mais ça ne marche pas.
| Ma question est: "peut-on modifier les infos du report en fonction de la
| requête?"


Tu dois ouvrir ton état en mode création...

DoCmd.OpenReport stDocName, acViewDesign

puis lui attribuer son recordsource et l'ouvrir normalement!


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/






Avatar
Bruno
J'ai tapé ceci:
stDocName = "mon_report"
query = ma_form.Form.RecordSource

DoCmd.OpenReport stDocName, acViewDesign
Screen.ActiveReport.RecordSource = query
DoCmd.Save
DoCmd.Close

Et ça marche!


Salut,
J'ai tapé ceci:
Dim stDocName, directory As String

stDocName = "mon_report"
directory = "..............xls"
DoCmd.OpenReport stDocName, acViewDesign, ma_subform.Form.RecordSource
DoCmd.OutputTo acReport, stDocName, acFormatXLS, directory

Ca ouvre bien le report mais le résultat dans le fichier excel est le même.
Il met toutes les données de la requête d'origine. C'est comme si il n'avait
pas pris compte la nouvelle requête.

J'avais essayé une autre méthode. J'avais tapé ceci:
Dim rapport As report
Set rapport = Reports("mon_report")

Ca me fait un message d'erreur pour la 2ème ligne:
"The report name "mon_report" you entered is misspelled or refers to a
report that isn't open or doesn't exist.


"3stone" wrote:

Salut,

"Bruno"
| J'ai une form dans laquelle il y a une sous-form contenant une requête.
| Dans la form, je sélectionne les informations que je veux voir apparaître
| dans la sous-form. Par exemple, je sélectionne une date et toutes les info
| concernant cette date apparaissent.
|
| Plus bas, j'ai un bouton avec lequel je veux créer un fichier excel au moyen
| de la commande "DoCmd.OutputTo acReport, stDocName, acFormatXLS, directory"
| directory est le nom du chemin complet.
|
| J'ai un report qui pointe sur la même requête que la sous-forme. L'ennui est
| que le rapport n'est pas modifiable comme la sous-forme. Du coup, il créé le
| fichier excel avec les mêmes infos.
|
| Tandis qu'avec la commande "DoCmd.OpenReport stDocName, acNormal, requet",
| on peut le faire car il y a le paramètre "FilterName".
|
| J'avais essayé "mon_report.recordsource=requette" mais ça ne marche pas.
| Ma question est: "peut-on modifier les infos du report en fonction de la
| requête?"


Tu dois ouvrir ton état en mode création...

DoCmd.OpenReport stDocName, acViewDesign

puis lui attribuer son recordsource et l'ouvrir normalement!


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/








Avatar
Eric
Bonjour,

Tu dois faire :

Dim rapport as Report, stDocName as String
stDocName = "mon_report"
DoCmd.OpenReport stDocName, acViewDesign
Set rapport = Reports("mon_report")
rapport.RecordSource = ma_subform.Form.RecordSource
DoCmd.Close acReport, stDocName, acSaveYes
set rapport=Nothing
' puis à partir de là, le traitement que tu veux dont l'édition
...

Salut,
...
J'avais essayé une autre méthode. J'avais tapé ceci:
Dim rapport As report
Set rapport = Reports("mon_report")

Ca me fait un message d'erreur pour la 2ème ligne:
"The report name "mon_report" you entered is misspelled or refers to a
report that isn't open or doesn't exist.



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