OVH Cloud OVH Cloud

Etat avec variable contenu ds formulaire

9 réponses
Avatar
Ugo [AlCapoon]
Bonjour à tous,
après l'excellente solution qui m'a été proposée par Xavier, je bute sur un
autre soucis...
J'ai un formulaire qui lui même possède un sous formulaire.
Je récupère le nombre de ligne de mon sous formulaire par le code suivant :

Private Sub Form_Current()
Me.Parent.Form.Controls("NbreElément").Value = Me.Recordset.RecordCount
End Sub

Mon soucis est de récupérer NbreElément dans mon Etat.
Pour ce faire, j'ai essayé de créer une zone de texte avec comme Source
Contrôle = [NbreElément]
Malheureusement, chaque fois que je lance l'état, il me colle une boite de
dialogue en me demandant la valeur NbreElément...
Que puis je faire pour remédier à ce problème en espérant qu'une solution
existe...

Merci à tous

Ugo

9 réponses

Avatar
3stone
Salut,

"Ugo [AlCapoon]"
J'ai un formulaire qui lui même possède un sous formulaire.
Je récupère le nombre de ligne de mon sous formulaire par le code suivant :

Private Sub Form_Current()
Me.Parent.Form.Controls("NbreElément").Value = Me.Recordset.RecordCount
End Sub

Mon soucis est de récupérer NbreElément dans mon Etat.
Pour ce faire, j'ai essayé de créer une zone de texte avec comme Source
Contrôle = [NbreElément]



Si le formulaire reste ouvert...

=Forms![Nom du formulaire]![NbreElément]



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

Avatar
Ugo [AlCapoon]
Bonjour Pierre,
J'ai essayé ta méthode, effectivement elle fonctionne mais avec un gros
bémol...
La variable NbreElément varie selon le formulaire et malheureusement l'état
généré ne recopie qu'un seul NbreElément, celui actif
ce n'est malheureusement pas suffisant, snirf...
@ bientôt et merci quand même.
Ugo

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

"Ugo [AlCapoon]"
J'ai un formulaire qui lui même possède un sous formulaire.
Je récupère le nombre de ligne de mon sous formulaire par le code
suivant :



Private Sub Form_Current()
Me.Parent.Form.Controls("NbreElément").Value = Me.Recordset.RecordCount
End Sub

Mon soucis est de récupérer NbreElément dans mon Etat.
Pour ce faire, j'ai essayé de créer une zone de texte avec comme Source
Contrôle = [NbreElément]



Si le formulaire reste ouvert...

=Forms![Nom du formulaire]![NbreElément]



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







Avatar
Pierre CFI [mvp]
bonjour
dans ton état, le nombre de lignes du groupe, doit étre celui du sous form, non ?
dans le pied de groupe, un controle texte avec source =Compte(*)

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Ugo [AlCapoon]" a écrit dans le message de news:
Bonjour Pierre,
J'ai essayé ta méthode, effectivement elle fonctionne mais avec un gros
bémol...
La variable NbreElément varie selon le formulaire et malheureusement l'état
généré ne recopie qu'un seul NbreElément, celui actif
ce n'est malheureusement pas suffisant, snirf...
@ bientôt et merci quand même.
Ugo

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

"Ugo [AlCapoon]"
J'ai un formulaire qui lui même possède un sous formulaire.
Je récupère le nombre de ligne de mon sous formulaire par le code
suivant :



Private Sub Form_Current()
Me.Parent.Form.Controls("NbreElément").Value = Me.Recordset.RecordCount
End Sub

Mon soucis est de récupérer NbreElément dans mon Etat.
Pour ce faire, j'ai essayé de créer une zone de texte avec comme Source
Contrôle = [NbreElément]



Si le formulaire reste ouvert...

=Forms![Nom du formulaire]![NbreElément]



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











Avatar
3stone
re,

"Ugo [AlCapoon]"
La variable NbreElément varie selon le formulaire et malheureusement l'état
généré ne recopie qu'un seul NbreElément, celui actif
ce n'est malheureusement pas suffisant, snirf...




Ton contrôle "NbreElément" est bien un contrôle indépendant, il me semble...

Comment veux tu qu'il "recopie" d'autres valeurs ??

Ne peux tu pas faire calculer cette valeur dans la requête source de ton état ?
Ce serait une méthode bien plus sûre et plus propre que ce que tu souhaite!

Je suis retourné lire ton ancien message...
Cela ressemble au nombre total d'article d'une facture...

Et, dans ce cas, un champ calculé dans ta requête:
NbreElément: DCount("[Champ]";"[Table]";"[NumFacture]=" & [NumFacture])

ou directement dans ton état:
Üount("[Champ]";"[Table]";"[NumFacture]=" & [NumFacture])

ferait bien l'affaire, non ?


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

Avatar
Ugo [AlCapoon]
Bonnjour Pierre,
dans ton état, le nombre de lignes du groupe, doit étre celui du sous
form, non ?

OUI
dans le pied de groupe, un controle texte avec source =Compte(*)
En essayant cette méthode le résultat est malheureusement erroné car

j'obtiens dans pied de groupe 1 et non pas un résultat dynamique qui dépend
du nombre de lignes de mon sous formulaire... si j'applique cette même boite
de texte dans la zone Détail, j'obtiens le total de formulaire renseigné...
J'avoue que ma non maitrise d'Access et donc le fait que je débute ne m'aide
pas...!!!
Si tu as une autre piste ou éventuellement ta méthode est bonne, je ne
l'applique pas correctement.
@+
Ugo
PS : HEEELLLLPPPPP, rhâââââââaaaaa

"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
dans ton état, le nombre de lignes du groupe, doit étre celui du sous
form, non ?

dans le pied de groupe, un controle texte avec source =Compte(*)

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Ugo [AlCapoon]" a écrit dans le
message de news:

Bonjour Pierre,
J'ai essayé ta méthode, effectivement elle fonctionne mais avec un gros
bémol...
La variable NbreElément varie selon le formulaire et malheureusement
l'état


généré ne recopie qu'un seul NbreElément, celui actif
ce n'est malheureusement pas suffisant, snirf...
@ bientôt et merci quand même.
Ugo

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

"Ugo [AlCapoon]"
J'ai un formulaire qui lui même possède un sous formulaire.
Je récupère le nombre de ligne de mon sous formulaire par le code
suivant :



Private Sub Form_Current()
Me.Parent.Form.Controls("NbreElément").Value Me.Recordset.RecordCount
End Sub

Mon soucis est de récupérer NbreElément dans mon Etat.
Pour ce faire, j'ai essayé de créer une zone de texte avec comme
Source




Contrôle = [NbreElément]



Si le formulaire reste ouvert...

=Forms![Nom du formulaire]![NbreElément]



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















Avatar
Ugo [AlCapoon]
Merci Pierre pour cette réponse mais la méthode de Pierre (l'autre !!!)
semble fonctionner donc that's all folks !!!!
Je te remercie infiniment pour cette aide précieuse.
@ bientôt
Ugo

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

"Ugo [AlCapoon]"
La variable NbreElément varie selon le formulaire et malheureusement
l'état


généré ne recopie qu'un seul NbreElément, celui actif
ce n'est malheureusement pas suffisant, snirf...




Ton contrôle "NbreElément" est bien un contrôle indépendant, il me
semble...


Comment veux tu qu'il "recopie" d'autres valeurs ??

Ne peux tu pas faire calculer cette valeur dans la requête source de
ton état ?

Ce serait une méthode bien plus sûre et plus propre que ce que tu
souhaite!


Je suis retourné lire ton ancien message...
Cela ressemble au nombre total d'article d'une facture...

Et, dans ce cas, un champ calculé dans ta requête:
NbreElément: DCount("[Champ]";"[Table]";"[NumFacture]=" &
[NumFacture])


ou directement dans ton état:
Üount("[Champ]";"[Table]";"[NumFacture]=" & [NumFacture])

ferait bien l'affaire, non ?


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







Avatar
Ugo [AlCapoon]
Ne tiens pas compte de mon autre message comme quoi ça ne fonctionnait pas,
en fait en créant un autre état avec le formulaire ET sous formulaire, ça
marche donc merci beaucoup pour cette aide précieuse
@ bientôt
Ugo

"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
dans ton état, le nombre de lignes du groupe, doit étre celui du sous
form, non ?

dans le pied de groupe, un controle texte avec source =Compte(*)

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Ugo [AlCapoon]" a écrit dans le
message de news:

Bonjour Pierre,
J'ai essayé ta méthode, effectivement elle fonctionne mais avec un gros
bémol...
La variable NbreElément varie selon le formulaire et malheureusement
l'état


généré ne recopie qu'un seul NbreElément, celui actif
ce n'est malheureusement pas suffisant, snirf...
@ bientôt et merci quand même.
Ugo

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

"Ugo [AlCapoon]"
J'ai un formulaire qui lui même possède un sous formulaire.
Je récupère le nombre de ligne de mon sous formulaire par le code
suivant :



Private Sub Form_Current()
Me.Parent.Form.Controls("NbreElément").Value Me.Recordset.RecordCount
End Sub

Mon soucis est de récupérer NbreElément dans mon Etat.
Pour ce faire, j'ai essayé de créer une zone de texte avec comme
Source




Contrôle = [NbreElément]



Si le formulaire reste ouvert...

=Forms![Nom du formulaire]![NbreElément]



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















Avatar
Pierre CFI [mvp]
ta base doit pas étre bien grosse, envoie la moi zippée en me donnant le nom du form et de l'état
enléve xxx_ à mon email

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Ugo [AlCapoon]" a écrit dans le message de news:
Bonnjour Pierre,
dans ton état, le nombre de lignes du groupe, doit étre celui du sous
form, non ?

OUI
dans le pied de groupe, un controle texte avec source =Compte(*)
En essayant cette méthode le résultat est malheureusement erroné car

j'obtiens dans pied de groupe 1 et non pas un résultat dynamique qui dépend
du nombre de lignes de mon sous formulaire... si j'applique cette même boite
de texte dans la zone Détail, j'obtiens le total de formulaire renseigné...
J'avoue que ma non maitrise d'Access et donc le fait que je débute ne m'aide
pas...!!!
Si tu as une autre piste ou éventuellement ta méthode est bonne, je ne
l'applique pas correctement.
@+
Ugo
PS : HEEELLLLPPPPP, rhâââââââaaaaa

"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
dans ton état, le nombre de lignes du groupe, doit étre celui du sous
form, non ?

dans le pied de groupe, un controle texte avec source =Compte(*)

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Ugo [AlCapoon]" a écrit dans le
message de news:

Bonjour Pierre,
J'ai essayé ta méthode, effectivement elle fonctionne mais avec un gros
bémol...
La variable NbreElément varie selon le formulaire et malheureusement
l'état


généré ne recopie qu'un seul NbreElément, celui actif
ce n'est malheureusement pas suffisant, snirf...
@ bientôt et merci quand même.
Ugo

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

"Ugo [AlCapoon]"
J'ai un formulaire qui lui même possède un sous formulaire.
Je récupère le nombre de ligne de mon sous formulaire par le code
suivant :



Private Sub Form_Current()
Me.Parent.Form.Controls("NbreElément").Value > Me.Recordset.RecordCount
End Sub

Mon soucis est de récupérer NbreElément dans mon Etat.
Pour ce faire, j'ai essayé de créer une zone de texte avec comme
Source




Contrôle = [NbreElément]



Si le formulaire reste ouvert...

=Forms![Nom du formulaire]![NbreElément]



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



















Avatar
Ugo [AlCapoon]
Je te remercie pour cette proposition mais comme je l'ai écrit sur mon
précedent post, CA MARCHE yeepee !!!
Merci encore
Ugo

"Pierre CFI [mvp]" a écrit dans le message de
news:
ta base doit pas étre bien grosse, envoie la moi zippée en me donnant le
nom du form et de l'état

enléve xxx_ à mon email

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Ugo [AlCapoon]" a écrit dans le
message de news:

Bonnjour Pierre,
dans ton état, le nombre de lignes du groupe, doit étre celui du sous
form, non ?

OUI
dans le pied de groupe, un controle texte avec source =Compte(*)
En essayant cette méthode le résultat est malheureusement erroné car

j'obtiens dans pied de groupe 1 et non pas un résultat dynamique qui
dépend


du nombre de lignes de mon sous formulaire... si j'applique cette même
boite


de texte dans la zone Détail, j'obtiens le total de formulaire
renseigné...


J'avoue que ma non maitrise d'Access et donc le fait que je débute ne
m'aide


pas...!!!
Si tu as une autre piste ou éventuellement ta méthode est bonne, je ne
l'applique pas correctement.
@+
Ugo
PS : HEEELLLLPPPPP, rhâââââââaaaaa

"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
dans ton état, le nombre de lignes du groupe, doit étre celui du sous
form, non ?

dans le pied de groupe, un controle texte avec source =Compte(*)

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Ugo [AlCapoon]" a écrit dans
le



message de news:
Bonjour Pierre,
J'ai essayé ta méthode, effectivement elle fonctionne mais avec un
gros




bémol...
La variable NbreElément varie selon le formulaire et malheureusement
l'état


généré ne recopie qu'un seul NbreElément, celui actif
ce n'est malheureusement pas suffisant, snirf...
@ bientôt et merci quand même.
Ugo

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

"Ugo [AlCapoon]"
J'ai un formulaire qui lui même possède un sous formulaire.
Je récupère le nombre de ligne de mon sous formulaire par le
code






suivant :

Private Sub Form_Current()
Me.Parent.Form.Controls("NbreElément").Value > > Me.Recordset.RecordCount
End Sub

Mon soucis est de récupérer NbreElément dans mon Etat.
Pour ce faire, j'ai essayé de créer une zone de texte avec comme
Source




Contrôle = [NbreElément]



Si le formulaire reste ouvert...

=Forms![Nom du formulaire]![NbreElément]



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