bonsoir,
un formulaire perd certaines de ses propriétés quand il est utilisé en tant que sous-formulaire car il devient un contrôle ActiveX. On ne peut donc pas filtrer sur un enregistrement avec la commande Docmd.Openform car elle agit sur le formulaire principal uniquement.
Il faudrait éventuellement utiliser Openargs pour filtrer le sous-formulaire:
DoCmd.OpenForm "f_facturation_fiche", , , , , ,"num = '" & Forms![f_facturation]![fact].form![num] & "'"
et dans le formulaire principal f_facturation_fiche, sur l'évènement Open:
1 2 3 4 5 6
| Private Sub Form_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then
Me.sf_facturation.Form.Filter = Me.OpenArgs
Me.sf_facturation.Form.FilterOn = True
End If
End Sub |
Par contre, je me demande ce que contient le formulaire principal: y a t-il une relation père/fils avec le sous-formulaire ? Si oui, ne faut-il pas sélectionner aussi l'identifiant correspondant à la sélection du filtre du sous-formulaire ? Ou alors, est-ce un formulaire indépendant (non lié à une table) ?
Une impression d'écran du formulaire serait une bonne initiative.
Partager