Bonjour,

J'ai un formulaire principal qui contient deux sous-formulaires (les champs visible dans le principal seront à terme cachés). dans ce formulaire principal, la valeur du champ IDTrainingSelected varie en fonction de la ligne sélectionnée tandis que le champ Nom reste statique

Le premier sous-formulaire (SF1), en mode continu, (à gauche dans l'image) contient un certain nombre de lignes correspondant a des formations, à évaluer, d'une personne déterminée (les différentes valeurs proviennent d'une requête). Ce nombre de ligne varie d'une personne à l'autre.
Le second sous-formulaire (SF2)2 (à droite dans l'image) est lié à une table Eval qui contient les champs vides correspondants aux évaluations des différentes formations, champs que l'utilisateur pourrait remplir en fonction de ses besoins.

Mon problème:
- Idéalement, j'aurais voulu qu'il y ai autant de lignes dans le second formulaire que dans le premier. Et que pour chaque contrôles de chaque ligne on puisse encoder une valeurs différentes de la ligne précédente. Pour ce faire j'avais mis mon SF2 en mode continu mais, remplir le champs d'une ligne, répercute cette valeur dans tous les champs similaires de toutes les lignes. Donc pas du tout ce que je veux.
- Du coup, je me dit qu'un sous-formulaire simple devrait faire l'affaire pour le SF2 (même si c'est loin de l'esthétique que je souhaitais). Pour pouvoir ultérieurement sauver le tout dans la table Eval, j'ai mis dans le SF2 deux champs liés dont le premier récupère la valeur de Nom (ici 35) à l'ouverture du formulaire principal. Et le second champs (entouré en bleu) devrait récupérer la valeur de IDTrainingSelected.

Mais ça ne fonctionne pas.
En premier essai, je me suis placé sur le contrôle du SF2 (nomé Texte41) et j'ai écris
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Private Sub Texte41_BeforeUpdate()
Texte41 = [Me].[Parent].[IDTrainingSelected]
End Sub
J'ai aussi essayé sur l'évennement AfterUpdate sans succès.

Puis j'ai essayé, également sans succès, en me positionnant sur le formulaire principal de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Private Sub IDTrainingSelected_AfterUpdate()
Forms.EnterDataOfTheYear.testsf3b_rq_FormationRequiseParPersonne.Form.Texte41.Value = Me.IDTrainingSelected
Forms.EnterDataOfTheYear.testsf3b_rq_FormationRequiseParPersonne.Form.Requery
End Sub
Où suis-je faux dans la formulation de mon code?



Mon autre question, est de savoir comment il serait possible de "multiplier" le nombre de ligne dans la zone SF2 (faire plusieurs sous-formulaires?) pour correspondre exactement à ce qu'il y a dans le SF1 et permettre un encodage différents dans un même champ quelque soit la ligne. Evidemment ce nombre de lignes doit changer si on change de personne...
Un peu comme dans un tableau excel, ou les premières colonnes contiennent déjà des infos, et les colonnes suivantes sont a remplir.


Merci d'avance pour votre aide et éclaircissements :-)
Et, bientôt bonne fête du premier mai



Nom : Form+2SForms.png
Affichages : 62
Taille : 47,9 Ko