OVH Cloud OVH Cloud

Faire des reports dans un état.

9 réponses
Avatar
JMarc
Bonjour,

Par avance, merci pour votre aide précieuse !


Je dois éditer des factures qui tiennent sur plusieurs pages.

Il faut que je reporte le total des pages précédentes en haut de chaque page
et le montant à reporter en bas de chaque page.

Je ne pense pas que cela se passe par le groupage des données et si possible
je ne souhaite pas faire de programmation...

Existe-t-il une solution ? L'un d'entre vous a-t-il rencontré ce problème ?

Merci encore !

JMarc

9 réponses

Avatar
Phil
Bonjour,
C'est un classique.
Pour un sous-total par page : tu dois insérer un champ de "sum" dans un pied
de page.
Pour un sous-total général par page : reprendre ce champ précédent dans
l'entete de page.
Pour un total général : tu dois insérer un champ de "sum" dans le pied de
rapport.
Salut.


Bonjour,

Par avance, merci pour votre aide précieuse !


Je dois éditer des factures qui tiennent sur plusieurs pages.

Il faut que je reporte le total des pages précédentes en haut de chaque page
et le montant à reporter en bas de chaque page.

Je ne pense pas que cela se passe par le groupage des données et si possible
je ne souhaite pas faire de programmation...

Existe-t-il une solution ? L'un d'entre vous a-t-il rencontré ce problème ?

Merci encore !

JMarc





Avatar
le méruvien
bonjour,
dans le pied de page, tu met un controle independant, et comme source, tu
met : =somme([nom du champ que tu veut additionner])


"JMarc" a écrit dans le message de
news:4121b758$0$7589$
Bonjour,

Par avance, merci pour votre aide précieuse !


Je dois éditer des factures qui tiennent sur plusieurs pages.

Il faut que je reporte le total des pages précédentes en haut de chaque
page

et le montant à reporter en bas de chaque page.

Je ne pense pas que cela se passe par le groupage des données et si
possible

je ne souhaite pas faire de programmation...

Existe-t-il une solution ? L'un d'entre vous a-t-il rencontré ce problème
?


Merci encore !

JMarc




Avatar
JMarc
Oui, mais...

La somme est dans un cas la somme de toutes les pages précédentes sauf la
page courante et dans le second cas la somme de toutes les pages.

"le méruvien" a écrit dans le message de
news:4121c4c3$0$29619$
bonjour,
dans le pied de page, tu met un controle independant, et comme source, tu
met : =somme([nom du champ que tu veut additionner])


"JMarc" a écrit dans le message de
news:4121b758$0$7589$
Bonjour,

Par avance, merci pour votre aide précieuse !


Je dois éditer des factures qui tiennent sur plusieurs pages.

Il faut que je reporte le total des pages précédentes en haut de chaque
page

et le montant à reporter en bas de chaque page.

Je ne pense pas que cela se passe par le groupage des données et si
possible

je ne souhaite pas faire de programmation...

Existe-t-il une solution ? L'un d'entre vous a-t-il rencontré ce
problème


?

Merci encore !

JMarc








Avatar
3stone
Salut,

"JMarc"
La somme est dans un cas la somme de toutes les pages précédentes sauf la
page courante et dans le second cas la somme de toutes les pages.




En adaptant ceci, tu devrais trouver...

http://mypage.bluewin.ch/w.stucki/Etats.htm#TotalPage



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
JMarc
Bonjour,

Merci pour ton aide, mais je ne suis pas une vedette en VBA...
Néanmoins, avant de vouloir adapter la solution, j'ai voulu essayer
l'exemple tel que.

Donc comme indiqué, j'ai inséré un controle indépendant nommé txtTotPage et
j'ai inséré le code ci dessous sur l'évenement Sur Formatage de mon
formulaire.
Lorsque je passe en prévisualisation de mon état, Access commence par me
demander la valeur de txtTotPage puis me donne un message d'erreur
"impossible d'attribuer une valeur à cette objet" (Err 2448)
Lorsque je passe en déboguage, il surligne [txtTotPage].Value TotalPage

N'y a-t-il pas un pb de syntaxe ? Ou faut-il déclarer la variable
préalablement ?

Merci !

JMarc


Private TotalPage As Currency

Private Sub Détail1_Print(Cancel As Integer, PrintCount As Integer)
TotalPage = TotalPage + [TotalFact]
End Sub

Private Sub PiedPage_Print(Cancel As Integer, PrintCount As Integer)
[txtTotPage].Value = TotalPage
'Initialisation de la variable pour la page suivante
TotalPage = 0
End Sub




"3stone" a écrit dans le message de
news:%
Salut,

"JMarc"
La somme est dans un cas la somme de toutes les pages précédentes sauf
la


page courante et dans le second cas la somme de toutes les pages.




En adaptant ceci, tu devrais trouver...

http://mypage.bluewin.ch/w.stucki/Etats.htm#TotalPage



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------







Avatar
3stone
Salut,

"JMarc"
[...]
Donc comme indiqué, j'ai inséré un controle indépendant nommé txtTotPage et
j'ai inséré le code ci dessous sur l'évenement Sur Formatage de mon
formulaire.
Lorsque je passe en prévisualisation de mon état, Access commence par me
demander la valeur de txtTotPage puis me donne un message d'erreur
"impossible d'attribuer une valeur à cette objet" (Err 2448)



C'est que tu ne là pas nommé "txtTotPage"
dans les propriétés, onglet Autres



Lorsque je passe en déboguage, il surligne [txtTotPage].Value > TotalPage

N'y a-t-il pas un pb de syntaxe ? Ou faut-il déclarer la variable
préalablement ?



C'était indiqué !!

' Variable de module permettant de cumuler le total de chaque enregistrement
Private TotalPage As Currency

que l'on déclare en tout en haut, avant la première sub.


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
JMarc
Exact ! Il me semblait pourtant l'avoir fait, mais en fait, l'erreur venait
surtout sur j'avais entré =txtTotPage dans mon control indépendant...

Apparement, cela répond à mon problème de montant reporté et à reporter en
adaptant le code comme ci-dessous,

Néanmoins, je voudrais remettre la variable txtTotPage à zéro entre la
prévisualisation et l'impression, ou deux impressions successives car par
défaut, l'impression reprend le dernier montant affiché pour txtTotPage en
première page et par conséquent les montants imprimés sont faux.

Dans quelle section dois-je mettre un "txtTotPage=0" ou quelque chose
d'approchant sachant que pour que le report se fasse de page en page, j'ai
supprimé le "txtTotPage=0" qui était dans l'exemple sur le site
http://mypage.bluewin.ch/w.stucki.

Bien sûr, je tiens à disposition ma base exemple pour ceux que cela
intéresse.

Merci Pierre !!!

JMarc

----------------------------------------------------------------------------

Private TotalPage As Currency
Private Sub Détail_Print(Cancel As Integer, PrintCount As Integer)

TotalPage = TotalPage + [Montant]

End Sub
Private Sub ZoneEntêtePage_Print(Cancel As Integer, PrintCount As Integer)

[txtReport].Value = TotalPage

End Sub
Private Sub ZonePiedPage_Print(Cancel As Integer, PrintCount As Integer)

[txtTotPage].Value = TotalPage

End Sub
Avatar
3stone
Salut,

"JMarc"
[...]
Dans quelle section dois-je mettre un "txtTotPage=0" ou quelque chose
d'approchant sachant que pour que le report se fasse de page en page, j'ai
supprimé le "txtTotPage=0" qui était dans l'exemple sur le site
http://mypage.bluewin.ch/w.stucki.



Il n'y à pas d'événement déclanché entre le preview et l'impression...

Si tu imprime via un bouton, tu peux en profiter pour y mettre la variable à zéro.
Eventuellement, déclarer la variable "public" dans un module.


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
JMarc
OK, je vais tester tout çela.

Pierre, merci pour ton aide précieuse !

JMarc

"3stone" a écrit dans le message de
news:
Salut,

"JMarc"
[...]
Dans quelle section dois-je mettre un "txtTotPage=0" ou quelque chose
d'approchant sachant que pour que le report se fasse de page en page,
j'ai


supprimé le "txtTotPage=0" qui était dans l'exemple sur le site
http://mypage.bluewin.ch/w.stucki.



Il n'y à pas d'événement déclanché entre le preview et l'impression...

Si tu imprime via un bouton, tu peux en profiter pour y mettre la
variable à zéro.

Eventuellement, déclarer la variable "public" dans un module.


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------