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

référence à un sous-état

2 réponses
Avatar
Fredy
Bonjour,

Dans un état principal (Etat-synthese) j'ai créé dans un pied de groupe
(RéfDossier) un sous-état (Etat-frais sous-état) où je calcul la somme des
frais soit : =Somme ([MontantFrais]), avec comme non (Totalbrut1).

Dans le pied de l'état principal j'aimerais calculer la somme de
(Totalbrut1) en y faisant référence comme suit :

Source contrôle : =[Etat-frais sous-état].[Etat].[Totalbrut1]

Cela donne comme résultat #Erreur

Bizarre.

Merci pour votre aide

Fredy

2 réponses

Avatar
marc_selles
Fredy,
c'est un grand classique de syntaxe pas intuitive d'Access

pour référencer un controle dans un sous formulaire depuis le formulaire,
il faut passer par le *nom du controle* qui contient le sous formulaire:
Forms("Etat-synthese")("nomControleConteneur").Form.Controls("Totalbrut1")
ou, si tu es *dans* le form principal et pas dans un module VBA
Me.nomControleConteneur.Form.Controls("Totalbrut1")

L'écriture simplifiée habituelle avec un "." ne marche plus parce qu'en fait
le point
est une facilité créée par Access :
- les controles qui sont en fait des objets de la collection Controls du
formulaire
ne devraient *pas* etre accessibles par un . qui n'accède qu'aux
propriétés d'un objet
- oui, mais Access-gros-malin créée des 'propriétés dynamiques' d'un
formulaire
avec les noms de tous ses controles ... ceci n'est accessible que dans
le bon contexte
- donc quand tu causes de son sous-formulaire, le coup du . ne marche +,
hors contexte

(traduction libre du génialissime "Access 2002 desktop developer's
handbook"
de Litwin, Getz et al. ches SYBEX)

"Fredy" a écrit dans le message de news:

Bonjour,

Dans un état principal (Etat-synthese) j'ai créé dans un pied de groupe
(RéfDossier) un sous-état (Etat-frais sous-état) où je calcul la somme des
frais soit : =Somme ([MontantFrais]), avec comme non (Totalbrut1).

Dans le pied de l'état principal j'aimerais calculer la somme de
(Totalbrut1) en y faisant référence comme suit :

Source contrôle : =[Etat-frais sous-état].[Etat].[Totalbrut1]

Cela donne comme résultat #Erreur

Bizarre.

Merci pour votre aide

Fredy





Avatar
Maxence HUBICHE
Bonsoir !

Normal.
Ton pieds de groupe est susceptible de se répéter autant de fois que tu
auras de groupes ...
Aussi, lequel doit-il te renvoyer ?

Maintenant, si tu es sûr(e) de n'avoir qu'un seul groupe, la technique
simple consiste à refaire ta formule =Somme ([MontantFrais]) dans le pied
d'état.
Si tu ne veux voir cette occurence, tu rends invisible (propriété
visible=non) ton pied d'état.
Enfin, depuis ton état principal, tu fais référence au controle du pied de
formulaire du pied d'état.

Voilà :)

--
----------------------------------------------------------------------------
-
Maxence HUBICHE
Formateur et développeur indépendant
Modérateur/rédacteur sur http://www.developpez.com

"Fredy" a écrit dans le message de news:

Bonjour,

Dans un état principal (Etat-synthese) j'ai créé dans un pied de groupe
(RéfDossier) un sous-état (Etat-frais sous-état) où je calcul la somme des
frais soit : =Somme ([MontantFrais]), avec comme non (Totalbrut1).

Dans le pied de l'état principal j'aimerais calculer la somme de
(Totalbrut1) en y faisant référence comme suit :

Source contrôle : =[Etat-frais sous-état].[Etat].[Totalbrut1]

Cela donne comme résultat #Erreur

Bizarre.

Merci pour votre aide

Fredy