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

Somme champ d'un sous formulaire dans le form + Table associé

9 réponses
Avatar
Smok''s
Bonjour à tous,
Donc je vais essayer de vous exposer clairement mon problème, ça fait
quelque temps que je galère dessu :p :

Enoncé =
-J'ai deux tables T1 et T2 (T2 et le fils de T1).
-J'ai créé le formulaire F1 à partir de T1 et le sous formulaire SF2 à
partir de T2 dans T1.
-J'ai un champ dans SF2 appelé Coût2, chaque enregistrement de F1 contient
un nombre variable de prix Coût2.
-J'ai un champ dans F1 appelé Coût1.

Objectif = Faire apparaitre la somme des Coût2 dans Coût1 pour chaque
enregistrement dés qu'un changement de prix est effectué. Et bien sûr que ce
changement s'opère dans T1 automatiquement.

Solution déjà testée =
- J'obtient facilement la somme des Coût2 dans le pied de formulaire de SF2
grâce à la formule Nz ou Somme. Mais lorsque je veux que celle ci se copie
automatiquement dans Coût1 je sèche (j'ai essayé un code VBA du style :
Code :
F1!F2.Forms!Coût2 = F1!Coût1
F1!Coût1.RequeryMais il faut que j'entre dans le champ Coût1 pour que le
prix change ou quelques subtilités de ce genre suivant l'endroit où je mets
le code (aprés MAJ, sur Focus...).
- J'ai aussi essayé de créer une requête que j'ai inséré en tant que sous
formulaire (SF3) dans F1, mais là aussi je même prbl apparaît, la somme se
fait trés bien dans le SF3 mais impossible de la copier automatiquement dans
Coût1.


J'espère avoir été clair !
Si quelqu'un à une solution il est le bienvenu Merci d'avance

9 réponses

Avatar
YOP
=?Utf-8?B?U21vaycncw==?= écrivait
news::

mme des Co


C' est dommage , sur mon PC , la moitié de se que tu as écrit est illisible
... ( transformation de certains caractères en language vénusien , ou de la
banlieu proche !! )

Avatar
Tisane
Bonjour "Smok''s",

[...]
Objectif = Faire apparaitre la somme des Coût2 dans Coût1 pour chaque
enregistrement dés qu'un changement de prix est effectué. Et bien sûr que
ce
changement s'opère dans T1 automatiquement.
[...]


YOP doit avoir un problème sur sa machine...

Si j'ai bien compris, dans ton sous-formulaire SF2, tu as donc un contrôle
calculé qui totalise les Cout2.
Tu ne donnes pas son nom. Supposons que tu l'aies appelé TotalCout2.
Pour reporter la somme du sous-formulaire dans le principal, dans la
propriété "Source" de Cout1 :
=[SF2].Formulaire!TotalCout2
Le recalcul est automatique dès que tu changes une valeur Cout2.

J'espère ne pas comprendre que tu veux copier la somme en dur dans la table
sous-jacente...

--
Tisane


Donc je vais essayer de vous exposer clairement mon problème, ça fait
quelque temps que je galère dessu :p :

Enoncé > -J'ai deux tables T1 et T2 (T2 et le fils de T1).
-J'ai créé le formulaire F1 à partir de T1 et le sous formulaire SF2 à
partir de T2 dans T1.
-J'ai un champ dans SF2 appelé Coût2, chaque enregistrement de F1 contient
un nombre variable de prix Coût2.
-J'ai un champ dans F1 appelé Coût1.


Solution déjà testée > - J'obtient facilement la somme des Coût2 dans le pied de formulaire de
SF2
grâce à la formule Nz ou Somme. Mais lorsque je veux que celle ci se copie
automatiquement dans Coût1 je sèche (j'ai essayé un code VBA du style :
Code :
F1!F2.Forms!Coût2 = F1!Coût1
F1!Coût1.RequeryMais il faut que j'entre dans le champ Coût1 pour que le
prix change ou quelques subtilités de ce genre suivant l'endroit où je
mets
le code (aprés MAJ, sur Focus...).
- J'ai aussi essayé de créer une requête que j'ai inséré en tant que sous
formulaire (SF3) dans F1, mais là aussi je même prbl apparaît, la somme se
fait trés bien dans le SF3 mais impossible de la copier automatiquement
dans
Coût1.


J'espère avoir été clair !
Si quelqu'un à une solution il est le bienvenu Merci d'avance


Avatar
Smoks
J'espère ne pas comprendre que tu veux copier la somme en dur dans la table
sous-jacente...


Si, bien sûr c'est ce que je veux faire, changer la source en :
"> =[SF2].Formulaire!TotalCout2"
Je savais déjà faire.
Mon prbl c'est que si je change la source de "Cout1" il ne s'écrira plus
dans la table.
Mais pourquoi dis tu "J'espère ne pas comprendre", tu m'intrigues... et me
fais peur ... :x




Bonjour "Smok''s",

[...]
Objectif = Faire apparaitre la somme des Coût2 dans Coût1 pour chaque
enregistrement dés qu'un changement de prix est effectué. Et bien sûr que
ce
changement s'opère dans T1 automatiquement.
[...]


YOP doit avoir un problème sur sa machine...

Si j'ai bien compris, dans ton sous-formulaire SF2, tu as donc un contrôle
calculé qui totalise les Cout2.
Tu ne donnes pas son nom. Supposons que tu l'aies appelé TotalCout2.
Pour reporter la somme du sous-formulaire dans le principal, dans la
propriété "Source" de Cout1 :
=[SF2].Formulaire!TotalCout2
Le recalcul est automatique dès que tu changes une valeur Cout2.

J'espère ne pas comprendre que tu veux copier la somme en dur dans la table
sous-jacente...

--
Tisane


Donc je vais essayer de vous exposer clairement mon problème, ça fait
quelque temps que je galère dessu :p :

Enoncé > > -J'ai deux tables T1 et T2 (T2 et le fils de T1).
-J'ai créé le formulaire F1 à partir de T1 et le sous formulaire SF2 à
partir de T2 dans T1.
-J'ai un champ dans SF2 appelé Coût2, chaque enregistrement de F1 contient
un nombre variable de prix Coût2.
-J'ai un champ dans F1 appelé Coût1.


Solution déjà testée > > - J'obtient facilement la somme des Coût2 dans le pied de formulaire de
SF2
grâce à la formule Nz ou Somme. Mais lorsque je veux que celle ci se copie
automatiquement dans Coût1 je sèche (j'ai essayé un code VBA du style :
Code :
F1!F2.Forms!Coût2 = F1!Coût1
F1!Coût1.RequeryMais il faut que j'entre dans le champ Coût1 pour que le
prix change ou quelques subtilités de ce genre suivant l'endroit où je
mets
le code (aprés MAJ, sur Focus...).
- J'ai aussi essayé de créer une requête que j'ai inséré en tant que sous
formulaire (SF3) dans F1, mais là aussi je même prbl apparaît, la somme se
fait trés bien dans le SF3 mais impossible de la copier automatiquement
dans
Coût1.


J'espère avoir été clair !
Si quelqu'un à une solution il est le bienvenu Merci d'avance






Avatar
Tisane

Si, bien sûr c'est ce que je veux faire, changer la source en :
"> =[SF2].Formulaire!TotalCout2"
Je savais déjà faire.
Mon prbl c'est que si je change la source de "Cout1" il ne s'écrira plus
dans la table.
Mais pourquoi dis tu "J'espère ne pas comprendre", tu m'intrigues... et me
fais peur ... :x


Parce qu'à moins d'avoir une *très* bonne raison (historisation par
exemple), on ne copie jamais le résultat d'un calcul en dur.
Tu charges la base de données inutiles, tu risques des erreurs si une des
valeurs est modifiée, etc.
On laisse donc les calculs s'effectuer "à la volée" dans les requêtes,
formulaires ou états.

Si tu y tiens, dans la propriété "Avant MAJ" du formulaire, tu peux
indiquer, dans la procédure événementielle :
Me![Cout1] = TotalCout
Cout1 étant le champ de ta table, TotalCout étant un contrôle indépendant
avec la source :
= [SF2].Formulaire!TotalCout2

--
Tisane


Bonjour "Smok''s",

[...]
Objectif = Faire apparaitre la somme des Coût2 dans Coût1 pour chaque
enregistrement dés qu'un changement de prix est effectué. Et bien sûr
que
ce
changement s'opère dans T1 automatiquement.
[...]


YOP doit avoir un problème sur sa machine...

Si j'ai bien compris, dans ton sous-formulaire SF2, tu as donc un
contrôle
calculé qui totalise les Cout2.
Tu ne donnes pas son nom. Supposons que tu l'aies appelé TotalCout2.
Pour reporter la somme du sous-formulaire dans le principal, dans la
propriété "Source" de Cout1 :
=[SF2].Formulaire!TotalCout2
Le recalcul est automatique dès que tu changes une valeur Cout2.

J'espère ne pas comprendre que tu veux copier la somme en dur dans la
table
sous-jacente...

--
Tisane


Donc je vais essayer de vous exposer clairement mon problème, ça fait
quelque temps que je galère dessu :p :

Enoncé >> > -J'ai deux tables T1 et T2 (T2 et le fils de T1).
-J'ai créé le formulaire F1 à partir de T1 et le sous formulaire SF2 à
partir de T2 dans T1.
-J'ai un champ dans SF2 appelé Coût2, chaque enregistrement de F1
contient
un nombre variable de prix Coût2.
-J'ai un champ dans F1 appelé Coût1.


Solution déjà testée >> > - J'obtient facilement la somme des Coût2 dans le pied de formulaire de
SF2
grâce à la formule Nz ou Somme. Mais lorsque je veux que celle ci se
copie
automatiquement dans Coût1 je sèche (j'ai essayé un code VBA du style :
Code :
F1!F2.Forms!Coût2 = F1!Coût1
F1!Coût1.RequeryMais il faut que j'entre dans le champ Coût1 pour que
le
prix change ou quelques subtilités de ce genre suivant l'endroit où je
mets
le code (aprés MAJ, sur Focus...).
- J'ai aussi essayé de créer une requête que j'ai inséré en tant que
sous
formulaire (SF3) dans F1, mais là aussi je même prbl apparaît, la somme
se
fait trés bien dans le SF3 mais impossible de la copier automatiquement
dans
Coût1.


J'espère avoir été clair !
Si quelqu'un à une solution il est le bienvenu Merci d'avance






Avatar
Smoks
Si tu y tiens, dans la propriété "Avant MAJ" du formulaire, tu peux
indiquer, dans la procédure événementielle :
Me![Cout1] = TotalCout
Cout1 étant le champ de ta table, TotalCout étant un contrôle indépendant
avec la source :
= [SF2].Formulaire!TotalCout2


J'avais déjà essayé cette solution mais à mon grand désaroi elle ne marche
pas :/
Donc je vais suivre tes conseils et m'abstenir.
Je voulais copier les résultats dans la table car il faut ensuite que je
passe toutes les données sous excel (tous les ordinateurs n'ont pas access
:/), et c'est bcp plus simple lorsqu'elles sont regroupées (moins de lignes
de macro)..

En tout cas merci bcp pour ton aide.
Bonne journée ++



Si, bien sûr c'est ce que je veux faire, changer la source en :
"> =[SF2].Formulaire!TotalCout2"
Je savais déjà faire.
Mon prbl c'est que si je change la source de "Cout1" il ne s'écrira plus
dans la table.
Mais pourquoi dis tu "J'espère ne pas comprendre", tu m'intrigues... et me
fais peur ... :x


Parce qu'à moins d'avoir une *très* bonne raison (historisation par
exemple), on ne copie jamais le résultat d'un calcul en dur.
Tu charges la base de données inutiles, tu risques des erreurs si une des
valeurs est modifiée, etc.
On laisse donc les calculs s'effectuer "à la volée" dans les requêtes,
formulaires ou états.

Si tu y tiens, dans la propriété "Avant MAJ" du formulaire, tu peux
indiquer, dans la procédure événementielle :
Me![Cout1] = TotalCout
Cout1 étant le champ de ta table, TotalCout étant un contrôle indépendant
avec la source :
= [SF2].Formulaire!TotalCout2

--
Tisane


Bonjour "Smok''s",

[...]
Objectif = Faire apparaitre la somme des Coût2 dans Coût1 pour chaque
enregistrement dés qu'un changement de prix est effectué. Et bien sûr
que
ce
changement s'opère dans T1 automatiquement.
[...]


YOP doit avoir un problème sur sa machine...

Si j'ai bien compris, dans ton sous-formulaire SF2, tu as donc un
contrôle
calculé qui totalise les Cout2.
Tu ne donnes pas son nom. Supposons que tu l'aies appelé TotalCout2.
Pour reporter la somme du sous-formulaire dans le principal, dans la
propriété "Source" de Cout1 :
=[SF2].Formulaire!TotalCout2
Le recalcul est automatique dès que tu changes une valeur Cout2.

J'espère ne pas comprendre que tu veux copier la somme en dur dans la
table
sous-jacente...

--
Tisane


Donc je vais essayer de vous exposer clairement mon problème, ça fait
quelque temps que je galère dessu :p :

Enoncé > >> > -J'ai deux tables T1 et T2 (T2 et le fils de T1).
-J'ai créé le formulaire F1 à partir de T1 et le sous formulaire SF2 à
partir de T2 dans T1.
-J'ai un champ dans SF2 appelé Coût2, chaque enregistrement de F1
contient
un nombre variable de prix Coût2.
-J'ai un champ dans F1 appelé Coût1.


Solution déjà testée > >> > - J'obtient facilement la somme des Coût2 dans le pied de formulaire de
SF2
grâce à la formule Nz ou Somme. Mais lorsque je veux que celle ci se
copie
automatiquement dans Coût1 je sèche (j'ai essayé un code VBA du style :
Code :
F1!F2.Forms!Coût2 = F1!Coût1
F1!Coût1.RequeryMais il faut que j'entre dans le champ Coût1 pour que
le
prix change ou quelques subtilités de ce genre suivant l'endroit où je
mets
le code (aprés MAJ, sur Focus...).
- J'ai aussi essayé de créer une requête que j'ai inséré en tant que
sous
formulaire (SF3) dans F1, mais là aussi je même prbl apparaît, la somme
se
fait trés bien dans le SF3 mais impossible de la copier automatiquement
dans
Coût1.


J'espère avoir été clair !
Si quelqu'un à une solution il est le bienvenu Merci d'avance










Avatar
Tisane

J'avais déjà essayé cette solution mais à mon grand désaroi elle ne marche
pas :/


Elle devrait...

Donc je vais suivre tes conseils et m'abstenir.
Je voulais copier les résultats dans la table car il faut ensuite que je
passe toutes les données sous excel (tous les ordinateurs n'ont pas access
:/), et c'est bcp plus simple lorsqu'elles sont regroupées (moins de
lignes
de macro)..


S'il s'agit d'exporter vers Excel, pourquoi ne pas exporter une requête dans
laquelle tu effectues ce calcul ?

--
Tisane



Si tu y tiens, dans la propriété "Avant MAJ" du formulaire, tu peux
indiquer, dans la procédure événementielle :
Me![Cout1] = TotalCout
Cout1 étant le champ de ta table, TotalCout étant un contrôle indépendant
avec la source :
= [SF2].Formulaire!TotalCout2


Si, bien sûr c'est ce que je veux faire, changer la source en :
"> =[SF2].Formulaire!TotalCout2"
Je savais déjà faire.
Mon prbl c'est que si je change la source de "Cout1" il ne s'écrira
plus
dans la table.
Mais pourquoi dis tu "J'espère ne pas comprendre", tu m'intrigues... et
me
fais peur ... :x


Parce qu'à moins d'avoir une *très* bonne raison (historisation par
exemple), on ne copie jamais le résultat d'un calcul en dur.
Tu charges la base de données inutiles, tu risques des erreurs si une des
valeurs est modifiée, etc.
On laisse donc les calculs s'effectuer "à la volée" dans les requêtes,
formulaires ou états.

Si tu y tiens, dans la propriété "Avant MAJ" du formulaire, tu peux
indiquer, dans la procédure événementielle :
Me![Cout1] = TotalCout
Cout1 étant le champ de ta table, TotalCout étant un contrôle indépendant
avec la source :
= [SF2].Formulaire!TotalCout2

--
Tisane


Bonjour "Smok''s",

[...]
Objectif = Faire apparaitre la somme des Coût2 dans Coût1 pour
chaque
enregistrement dés qu'un changement de prix est effectué. Et bien
sûr
que
ce
changement s'opère dans T1 automatiquement.
[...]


YOP doit avoir un problème sur sa machine...

Si j'ai bien compris, dans ton sous-formulaire SF2, tu as donc un
contrôle
calculé qui totalise les Cout2.
Tu ne donnes pas son nom. Supposons que tu l'aies appelé TotalCout2.
Pour reporter la somme du sous-formulaire dans le principal, dans la
propriété "Source" de Cout1 :
=[SF2].Formulaire!TotalCout2
Le recalcul est automatique dès que tu changes une valeur Cout2.

J'espère ne pas comprendre que tu veux copier la somme en dur dans la
table
sous-jacente...

--
Tisane
[...]









Avatar
Smoks
S'il s'agit d'exporter vers Excel, pourquoi ne pas exporter une requête dans
laquelle tu effectues ce calcul ?


C'est en effet ce que je vais être obligé de faire : Exporter la table + la
requête, moi je ne voulais exporter que la table :D

++

Avatar
Tisane

S'il s'agit d'exporter vers Excel, pourquoi ne pas exporter une requête
dans
laquelle tu effectues ce calcul ?


C'est en effet ce que je vais être obligé de faire : Exporter la table +
la
requête, moi je ne voulais exporter que la table :D


Pourquoi la table + la requête, si ce n'est pas indiscret ??

--
Tisane


Avatar
Smoks
Pourquoi la table + la requête, si ce n'est pas indiscret ??
--
Tisane


Tout simplement parce que j'ai besoin des informations de la table ET de la
somme qui se trouve dans le sous formulaire (qui va se trouver d'aprés notre
discussion non pas dans la table, mais dans une requête).
Donc table + requête !!