OVH Cloud OVH Cloud

champ calculé dans form comprenant sousform ?

4 réponses
Avatar
Txl
Bonjour à tous.

J'ai un form "frmdonnees" qui contient un sousform "sfrmdonnees" (oui je
sais c'est pas top original :-)

Je voudrais rajouter un champ dans une table et dans le formulaire qui me
calcule le total des enregistrements dans le sousform.

J'arrive à faire un controle "total" indépendant dans le pied du sousform
qui me calcule le npbre d'enregistrements plus une variable d'ajustement
avec cette formule

=Compte([pneudonnees])+Formulaires.frmsession.adj

Mais comment attribuer cette valeur a un controle issu d'un champ (qui
s'appelera "totsession") ?

Je pense qu"il faudrait passer en VBA mlais une première tentative avec un
bout de code du genre

me![totsession]=me!Formulaire.sfrmdonnees.total

Ne donne évidemment rien.

Merci de votre aide



--
Email contact

http://cerbermail.com/?ltQ8eCFmRa

4 réponses

Avatar
3stone
Salut,

"Txl"
| Je voudrais rajouter un champ dans une table et dans le formulaire qui me
| calcule le total des enregistrements dans le sousform.
|
| J'arrive à faire un controle "total" indépendant dans le pied du sousform
| qui me calcule le npbre d'enregistrements plus une variable d'ajustement
| avec cette formule
|
| =Compte([pneudonnees])+Formulaires.frmsession.adj
|
| Mais comment attribuer cette valeur a un controle issu d'un champ (qui
| s'appelera "totsession") ?
|
| Je pense qu"il faudrait passer en VBA mlais une première tentative avec un
| bout de code du genre
|
| me![totsession]=me!Formulaire.sfrmdonnees.total


Comme (presque) toujours, vouloir enregistrer dans une table un total
est une très mauvaise idée !


mais...

Me.TotSession = Me!sfrmDonnes.FORM.Total

à placer sur activation (form_current) de frmDonnees


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Txl
Le Thu, 14 Sep 2006 19:10:18 +0200, 3stone a écrit:

Salut,

"Txl"
| Je voudrais rajouter un champ dans une table et dans le formulaire qui
me
| calcule le total des enregistrements dans le sousform.
|
| J'arrive à faire un controle "total" indépendant dans le pied du
sousform
| qui me calcule le npbre d'enregistrements plus une variable
d'ajustement
| avec cette formule
|
| =Compte([pneudonnees])+Formulaires.frmsession.adj
|
| Mais comment attribuer cette valeur a un controle issu d'un champ (qui
| s'appelera "totsession") ?
|
| Je pense qu"il faudrait passer en VBA mlais une première tentative
avec un
| bout de code du genre
|
| me![totsession]=me!Formulaire.sfrmdonnees.total


Comme (presque) toujours, vouloir enregistrer dans une table un total
est une très mauvaise idée !


mais...

Me.TotSession = Me!sfrmDonnes.FORM.Total

à placer sur activation (form_current) de frmDonnees




Je ne l'ai pas encore fait.

En fait si ma théorie est mauvaise je préfère avoir l'avis d'un expert,
donc voila mon problème :

J'ai un form ou j'attribue des articles a des commandes, le form serait la
commande et le sous form serait le détail de la commande, sachant que je
n'ai qu'un type d'article j'ai fait une zone de comptage dans le pied du
sous form pour savoir combien d'articles sont présents, et je voudrais
stocker ce total dans ma table de commandes.

Du coté des tables j'ai une table de commandes (tblsession) et une table
de détail de commandes (tbldonnees), en fait chaque ref de tblsession (1,
2, 3, 4....) est en relation avec la ref de tbldonnees qui repointe vers
la session, donc par exemple je peux avoir dans tbldonnees :

refdonnees refsession
1 2
2 2
3 2
4 3
5 4
6 2

Je voudrais avoir dans tblsession le champ total qui n'existe pas pour le
moment

ref total
1 0
2 4
3 1
4 1

Ainsi de suite, et je voudrais que dans ma table tblsession je puisse
compter le total d'enregistrements de tbldonnees se rapportant à chaque
session...

J'ai pense à faire une requete qui compte les enregistrements de donnees
dans chaque session et qu mettrait a jour tblsession mais c'est un peu
surdimensionné de TOUT recompter à chaque fois non ?

Merci d'avance



--
Email contact

http://cerbermail.com/?ltQ8eCFmRa

Avatar
3stone
Salut,

"Txl"
[...]
| J'ai un form ou j'attribue des articles a des commandes, le form serait la
| commande et le sous form serait le détail de la commande, sachant que je
| n'ai qu'un type d'article j'ai fait une zone de comptage dans le pied du
| sous form pour savoir combien d'articles sont présents, et je voudrais
| stocker ce total dans ma table de commandes.


Comme je le disais, les bonnes raisons sont rares...

Pour avoir le nombre "de lignes" de ton détail de commande, il suffit
d'utiliser la fonction de domaine 'DCount()' qui est parfaite pour cela.


Dès que tu possède un numéro de commande, tu fais :

= DCount("*","TableDetails","NumCommande=" & NumeroCommande)

pour avoir avec certitude la bonne valeur.


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Txl
Le Sat, 16 Sep 2006 02:14:07 +0200, 3stone a écrit:

Salut,

"Txl"
[...]
| J'ai un form ou j'attribue des articles a des commandes, le form
serait la
| commande et le sous form serait le détail de la commande, sachant que
je
| n'ai qu'un type d'article j'ai fait une zone de comptage dans le pied
du
| sous form pour savoir combien d'articles sont présents, et je voudrais
| stocker ce total dans ma table de commandes.


Comme je le disais, les bonnes raisons sont rares...

Pour avoir le nombre "de lignes" de ton détail de commande, il suffit
d'utiliser la fonction de domaine 'DCount()' qui est parfaite pour cela.


Dès que tu possède un numéro de commande, tu fais :

= DCount("*","TableDetails","NumCommande=" & NumeroCommande)

pour avoir avec certitude la bonne valeur.



RRRRRRRONTIDJUUUU (copyright prunelle)

Je vais essayer de m'en sortir avec ca et je te dis ce que j'arrive à
faire (donc vraisemblablement pas grand chose :-) )

EN tout cas merci pour l'info, comme quoi ca sert de poser les
questions....


--
Email contact

http://cerbermail.com/?ltQ8eCFmRa