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

Nombre de lignes dans un sous formulaire...

5 réponses
Avatar
Ugo [AlCapoon]
Bonjour à tous,
étant débutant sous access, je suis un peu perdu même pour des choses à
priori simple...
J'ai un formulaire et un sous formulaire.
J'aimerai créer un champ dans le formulaire qui serait le nombre de ligne
composé par le sous formulaire (beurk, incompréhensible...)
Exemple :
Si dans mon sous formulaire, j'ai rempli 3 lignes, je voudrai qu'un champ de
mon formulaire écrive automatiquement 3

Merci pour votre aide
@+
Ugo

5 réponses

Avatar
Xavier HUE
Bonjour UGO,

Dans Sur Activation du sous-formulaire:

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

TonControleNbreLigne est un TextBox

Si le sous-formulaire doir afficher beaucoup
d'enregistrement, il pourra être nécessaire d'ajouter,
dans Form_Load:

Private Sub Form_Load()
...
Me.Recordset.MoveLast
Me.Recordset.MoveFirst
...
End Sub

Cordialement.
Avatar
Ugo [AlCapoon]
Bonjour Xavier,
je te remercie pour ta réponse et c'est là où je me rends compte à quel
point je débute !!!
Je colle la procédure évènementielle Sur Activation dans le sous formulaire
qui m'intéresse.
Je t'avoue avoir recollé bêtement ton code en mettant NbreLigne à la place
de TonControleNbreLigne
J'ai, par hasard, crée dans le sous formulaire un champ NbreLigne en
Numérique et sans aller plus loin,
si je lance le formulaire qui fait appel au sous formulaire, j'ai une erreur
2448 Impossible d'attribuer une valeur à cet objet...
Si je passe à côté de qq chose, surtout n'hésite pas, en attendant je
cherche...
Encore une fois, merci et @+
Ugo

"Xavier HUE" a écrit dans le message de
news:81a301c431d8$30ef90c0$
Bonjour UGO,

Dans Sur Activation du sous-formulaire:

Private Sub Form_Current()
...
Me.Parent.Form.Controls("TonControleNbreLigne").Value Me.Recordset.RecordCount
...
End Sub

TonControleNbreLigne est un TextBox

Si le sous-formulaire doir afficher beaucoup
d'enregistrement, il pourra être nécessaire d'ajouter,
dans Form_Load:

Private Sub Form_Load()
...
Me.Recordset.MoveLast
Me.Recordset.MoveFirst
...
End Sub

Cordialement.
Avatar
Xavier HUE
Ca marche ici, donc, c'est que c'est bon ;-)

Le controle "NbreLigne" que tu as créés est bien un
TextBox? Pas une étiquette?
Si c'est une étiquette, remplace
Me.Parent.Form.Controls("NbreLigne").Value = ...
Par
Me.Parent.Form.Controls("NbreLigne").Caption = ...

Sinon?? Poste ton code et je regarde.
Cordialement.
Avatar
Ugo [AlCapoon]
C'est de la balle Xavier... j'ai été obligé de recréer une base et ça marche
parfaitement bien !!!
Je ne sais pas qu'est ce qui fait que ça ne marche pas dans l'existant mais
ça n'est pas grave du tout.
Je te remercie pour m'avoir aidé.
@+
Ugo

"Xavier HUE" a écrit dans le message de
news:833e01c431e8$76a009f0$
Ca marche ici, donc, c'est que c'est bon ;-)

Le controle "NbreLigne" que tu as créés est bien un
TextBox? Pas une étiquette?
Si c'est une étiquette, remplace
Me.Parent.Form.Controls("NbreLigne").Value = ...
Par
Me.Parent.Form.Controls("NbreLigne").Caption = ...

Sinon?? Poste ton code et je regarde.
Cordialement.
Avatar
Ugo [AlCapoon]
SIIIIII trouvé.... j'ai fait l'andouille : je pensais bien faire en créant
un champ NbreLigne mais c'est lui qui me mettait dans la panade.
PARFAIT sur toute la ligne.
Encore une fois merci (si si j'insiste)
Gloire à toi Xavier
Ugo

"Xavier HUE" a écrit dans le message de
news:833e01c431e8$76a009f0$
Ca marche ici, donc, c'est que c'est bon ;-)

Le controle "NbreLigne" que tu as créés est bien un
TextBox? Pas une étiquette?
Si c'est une étiquette, remplace
Me.Parent.Form.Controls("NbreLigne").Value = ...
Par
Me.Parent.Form.Controls("NbreLigne").Caption = ...

Sinon?? Poste ton code et je regarde.
Cordialement.