Bonjour

Je cherche à affecter dynamiquement des valeurs à des zones de texte d'un formulaire, à partir d'un recordset. Les contrôles existent déjà (txtboxes dans la zone Détail, étiquettes dans la zone Header). J'ai écris ce code sur l'évènement "Form_Open" du formulaire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Form_Open(Cancel As Integer)
    Dim rst As Recordset
    Dim hdr, txt As String
    Set rst = CurrentDb.OpenRecordset("Req_Form_mensuel")
 
    For i = 1 To rst.Fields.Count
        hdr = "hdr_" & i
        txt = "txt_" & i
        Me.Controls(hdr).Caption = rst.Fields(i - 1).name
        Me.Controls(txt).ControlSource = "='" & rst.Fields(i - 1) & "'"
 
    Next i
 
 
End Sub
Apparemment l'affectation se passe bien, car mes headers contiennent la bonne info, les zones de texte aussi.
Le problème c'est que bien que je soit en mode "formulaire continus", il n'y a qu'une seule ligne qui apparaît, or dans mon recordset il y en a plusieurs.
Pourquoi les autres lignes n'apparaissent-elles pas ?

Merci de votre aide