Réglage du Filtre dans le sous-Formulaire

J'ai un formulaire principal "Propriétés", qui a deux sous-formulaires, dont l'un présente les chambres de la propriété, de l'autre les occupants dans chaque chambre.

Que vous modifiez la propriété, les chambres de changement dans le premier sous-formulaire, qui est continu. Lorsque vous faites défiler la salle de sous-formulaire, la fabrication d'une nouvelle pièce active, je veux les occupants de changement dans le deuxième sous-formulaire.

Jusqu'à présent, j'ai écrit cela dans le Courant de l'événement de la "propriétés" du formulaire principal:

Dim dblRoomID As Double
dblRoomID = Forms.Properties.frmRoomsByPropertySubform.Form.room_id

Avec succès tire la Room_ID à partir de la première sous-Formulaire.

Maintenant, j'ai besoin d'utiliser que Room_ID pour définir un filtre dans la deuxième sous-formulaire, qui affiche actuellement tous les occupants de tous les biens, mais a un Room_ID champ.

Je ne peux pas obtenir

Forms.Properies.frmStudentsRoomQuickview.Form.Filter = "[Room_ID]=" & dblRoomID

ou docmd.applyfilter de travail - j'ai travaillé sur l'hypothèse que c'est parce que la forme active doit être le "frmstudentRoomQuickview" pour le plus tard, au travail mais je ne comprends pas pourquoi vous mettez le .le filtre ne fonctionnera pas.

Edit: je tiens à ajouter, je ne peux pas utiliser un sous-formulaire dans les "chambres", comme les chambres, le formulaire doit être continu.

Edit 2:

Private Sub Form_Current()
Dim dblRoomID As Double
If IsNull(Forms.Properties.frmRoomsByPropertySubform.Form.room_id) Then
Forms.Properties.frmRoomsByPropertySubform.Visible = False
Forms.Properties.frmStudentsRoomQuickview.Visible = False
Else
Forms.Properties.frmRoomsByPropertySubform.Visible = True
Forms.Properties.frmStudentsRoomQuickview.Visible = True
dblRoomID = Forms.Properties.frmRoomsByPropertySubform.Form.room_id
Call frmStudentsRoomQuickview_Enter(dblRoomID)
End If
End Sub
Private Sub frmStudentsRoomQuickview_Enter(dblRoomID)
Forms.Properties.frmStudentsRoomQuickview.Filter = "[room_id] = " & dblRoomID
Forms.Properties.frmStudentsRoomQuickview.FilterOn = True
Forms.Properties.frmStudentsRoomQuickview.Requery
Debug.Print Screen.ActiveForm.name
End Sub

Je suis maintenant "Procédure de déclaration ne correspond pas à la description de l'événement ou de la procédure ayant le même nom" erreurs

OriginalL'auteur 7thGalaxy | 2014-01-14