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

lien formulaire/sous-formulaire champs pere et fils et passer une valeur entre

4 réponses
Avatar
pascallerudulier
Bonsoir a tous,

Est-ce que quelqu'un a deja tente de creer un lien pere/
fils entre 1 champs de formulaire et un autre en sous-formulaire dans
le but de passer une valeur variable?

Je m'explique: un formulaire contient un numero de semaine
que je cherche a faire varier selon un calendrier cliquable.
Le sous formulaire devrait prendre en compte ce numero de
semaine et effectuer des calculs (sommation sur des periodes allant
jusqu'a ladite semaine).

Ce sous-formulaire a comme source une requete dont un des
champs (que je cherche a faire varier) rentre dans le calcul d'autres
champs. J'y ai mis, en critere, une question [numero de semaine?].
Bien que ne faisant pas partie des champs du sous-formulaire, les
autres champs en etant dependants, la fenetre de question apparait
quand meme a l'ouverture du formulaire (et donc du sous-formulaire).

Si la fenetre question surgit, c'est donc qu'il y a bien
une possibilite de creer un lien pere/fils.

Je me trompe?

Si quelqu'un a deja vu cas semblable(s) ou qui s'en
rapprocherai(en)t....

Merci d'avance et bonne soiree.

Pascal

4 réponses

Avatar
3stone
Salut,

wrote:
Bonsoir a tous,

Est-ce que quelqu'un a deja tente de creer un lien pere/
fils entre 1 champs de formulaire et un autre en sous-formulaire dans
le but de passer une valeur variable?



un champ du formulaire *est* une valeur variable...
sinon, quel intérêt, tout serait dans le formulaire principal...



Je m'explique: un formulaire contient un numero de semaine
que je cherche a faire varier selon un calendrier cliquable.



oui, mais ce champ fait-il partie de la source du formulaire ?
sans cela, il n'y a pas de relation prère/fils...

Le sous formulaire devrait prendre en compte ce numero de
semaine et effectuer des calculs (sommation sur des periodes allant
jusqu'a ladite semaine).



Un champ (plutôt un contrôle indépendant) de sous formulaire peut
toujours se référer à un "controle" (indépendant ou non) du formulaire principal !

Me.Parent!ZoneDeTexte


Ce sous-formulaire a comme source une requete dont un des




mais quelle est la relation avec la source du formulaire principal ?
On parles de "sous-formulaire" lorsqu'un champ de sa source (clé externe)
est en relation avec la clé primaire du formulaire principal...
sinon, c'est un formulaire "inclus" (pour grouper visuellement)

champs (que je cherche a faire varier) rentre dans le calcul d'autres
champs. J'y ai mis, en critere, une question [numero de semaine?].
Bien que ne faisant pas partie des champs du sous-formulaire,



donc un champ ou plutot un "contrôle indépendant"...

les
autres champs en etant dependants, la fenetre de question apparait
quand meme a l'ouverture du formulaire (et donc du sous-formulaire).

Si la fenetre question surgit, c'est donc qu'il y a bien
une possibilite de creer un lien pere/fils.



Je crois +/- deviner ce que tu cherches à faire... et j'ai bien peur
de l'erreur de conception ;-)

Je pense que dans la source du sous-formulaire, tu cherches à "remplir"
un champ avec des données calculées (en général, pas une bonne idée,
surtout lorsque l'on cherche à faire intervenir des valeurs du form principal)

Il faut passer dans le sous-form par une zone de texte indépendante,
dans laquelle tu fais tes calculs (voir plus haut pour te référer au form-principal)
Ensuite, sur un événement (après mise à jour ou sur changement...) pousser
cette valeur dans le champ par VBA ([LeChamp] = Ctrl_Indépendant)

Mais... ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
pascallerudulier
Bonjour Pierre,

Oui c'est en gros ce que je cherchais a faire. J'ai depuis
completement abandonne l'idee, tant pis.

J'ai un autre probleme en ce moment qui est: on ne peut pas
changer les valeurs de champs issus d'une requete, j'aimerai quand
meme pouvoir le faire (champ cliquable pour valider un fait/pas fait).
J'imagine qu'un formulaire dont la source est ladite requete pourrait
se voir ajoute un champ supplementaire mais ...

Bref, merci pour votre constance.

Pascal


On 9 oct, 17:19, "3stone" wrote:
Salut,

wrote:
> Bonsoir a tous,

>               Est-ce que quelqu'un a deja tente de creer un lien pere/
> fils entre 1 champs de formulaire et un autre en sous-formulaire dans
> le but de passer une valeur variable?

un champ du formulaire *est* une valeur variable...
sinon, quel intérêt, tout serait dans le formulaire principal...

>             Je m'explique: un formulaire contient un numero de semaine
> que je cherche a faire varier selon un calendrier cliquable.

oui, mais ce champ fait-il partie de la source du formulaire ?
sans cela, il n'y a pas de relation prère/fils...

>             Le sous formulaire devrait prendre en compte ce numero de
> semaine et effectuer des calculs (sommation sur des periodes allant
> jusqu'a ladite semaine).

Un champ (plutôt un contrôle indépendant) de sous formulaire peut
toujours se référer à un "controle" (indépendant ou non) du formu laire principal !

    Me.Parent!ZoneDeTexte

>    Ce sous-formulaire a comme source une requete dont un des

mais quelle est la relation avec la source du formulaire principal ?
On parles de "sous-formulaire" lorsqu'un champ de sa source (clé extern e)
est en relation avec la clé primaire du formulaire principal...
sinon, c'est un formulaire "inclus" (pour grouper visuellement)

> champs (que je cherche a faire varier) rentre dans le calcul d'autres
> champs. J'y ai mis, en critere, une question [numero de semaine?].
> Bien que ne faisant pas partie des champs du sous-formulaire,

donc un champ ou plutot un "contrôle indépendant"...

> les
> autres champs en etant dependants, la fenetre de question apparait
> quand meme a l'ouverture du formulaire (et donc du sous-formulaire).

>               Si la fenetre question surgit, c'est donc q u'il y a bien
> une possibilite de creer un lien pere/fils.

Je crois +/- deviner ce que tu cherches à faire... et j'ai bien peur
de l'erreur de conception ;-)

Je pense que dans la source du sous-formulaire, tu cherches à "remplir"
un champ avec des données calculées (en général, pas une bonne id ée,
surtout lorsque l'on cherche à faire intervenir des valeurs du form pri ncipal)

Il faut passer dans le sous-form par une zone de texte indépendante,
dans laquelle tu fais tes calculs (voir plus haut pour te référer au form-principal)
Ensuite, sur un événement (après mise à jour ou sur changement... ) pousser
cette valeur dans le champ par VBA ([LeChamp] = Ctrl_Indépendant)

Mais... ;-)

--
A+
Pierre (3stone) Access MVP
Perso:http://www.3stone.be/
MPFA:http://www.mpfa.info/ (infos générales)
Avatar
stben.net
Salut,

wrote:
J'ai un autre probleme en ce moment qui est: on ne peut pas
changer les valeurs de champs issus d'une requete, j'aimerai quand
meme pouvoir le faire (champ cliquable pour valider un fait/pas fait).
J'imagine qu'un formulaire dont la source est ladite requete pourrait
se voir ajoute un champ supplementaire mais ...




Si, on mettre à jour un champ issus d'une requête, mais pas
toujours!...
La requête doit être "updatable", ce qui signifie qu'Access doit
pouvoir attribuer ce champ avec certitude à un enregistrement
précis. Ce n'est pas toujours le cas lorsque la requête est basée
sur deux table et plus... et jamais lorsque la requête possède
un regroupement.

Ceci dit, si sur clic du champ, tu peux récupérer la clé primaire
de l'enregistrement concerné, tu peux faire la mise à jour
avec une ou deux ligne de VBA. Il reste ensuite à rafraichir
le formulaire.

Disons que sur clic de la zone de texte, tu as:

PK = Clé primaire de la table
ZdT = nom de la zone de texte

le code (si la valeur est "texte") :

Dim lgID As Long, strReq As string, strValeur As String
lgID = Me.ClePrimaire
strValue = InputBox("Nouvelle valeur", "Modification")

strReq = "Update LaTable Set LeChamp ='" & strValue & "' Where PK=" & lgID
CurrentDb.Execute strReq
Me.Requery

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
pascallerudulier
Merci Pierre pour la reponse. Je n'ai pas eu a employer ce script
cependant, le lien entre tables m'a suffi.
Pascal
On 22 oct, 18:55, "stben.net" wrote:
Salut,

wrote:
>     J'ai un autre probleme en ce moment qui est: on ne peut pas
> changer les valeurs de champs issus d'une requete, j'aimerai quand
> meme pouvoir le faire (champ cliquable pour valider un fait/pas fait).
> J'imagine qu'un formulaire dont la source est ladite requete pourrait
> se voir ajoute un champ supplementaire mais ...

Si, on mettre jour un champ issus d'une requ te, mais pas
toujours!...
La requ te doit tre "updatable", ce qui signifie qu'Access doit
pouvoir attribuer ce champ avec certitude un enregistrement
pr cis. Ce n'est pas toujours le cas lorsque la requ te est bas e
sur deux table et plus... et jamais lorsque la requ te poss de
un regroupement.

Ceci dit, si sur clic du champ, tu peux r cup rer la cl primaire
de l'enregistrement concern , tu peux faire la mise jour
avec une ou deux ligne de VBA. Il reste ensuite rafraichir
le formulaire.

Disons que sur clic de la zone de texte, tu as:

PK = Cl primaire de la table
ZdT = nom de la zone de texte

le code (si la valeur est "texte") :

Dim lgID As Long, strReq As string, strValeur As String
lgID = Me.ClePrimaire
strValue = InputBox("Nouvelle valeur", "Modification")

strReq = "Update LaTable Set LeChamp ='" & strValue & "' Where PK=" & lgID
CurrentDb.Execute strReq
Me.Requery

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