Subform verversen bij recordselectie ander subform

Status
Niet open voor verdere reacties.

BartSt

Gebruiker
Lid geworden
26 jun 2012
Berichten
86
Hallo,

Probleem in MS Access. Even simpele titels gebruiken:
frmHoofd = hoofdformulier
frmSub1 = subform van frmHoofd
frmSub2 = ander subform van frmHoofd

frmSub1 geeft een lijst van records uit tabel A. Bedoeling is dat frmSub2 records geeft uit tabel B, gefilterd obv het geselecteerde record in frmSub1. Dus, ander record selecteren = opnieuw filteren. Er is geen rechtstreekse relatie tussen tabellen A en B, wat werken met de formuliereigenschappen "Hoofdvelden/subvelden koppelen" moeilijk maakt.

Daarom dacht ik: we proberen het in VBA. Echter, wat ik ook probeer, ik krijg een fout dat frmSub2 niet wordt gevonden. (2450 - "kan het formulier frmSub2 niet vinden waarnaar wordt verwezen.") Onderstaande code staat in current van frmSub1. Wat doe ik mis?

Code:
Private Sub Form_Current()

Forms!frmSub2.Form.Filter = "Id in (SELECT...)"
Forms!frmSub2.Form.FilterOn = True
Forms!frmSub2.Form.Refresh

End Sub

(Het SQL-statement filtert obv het Id-veld in frmSub1. De filter werkt wanneer ingegeven als formuliereigenschap.)
 
Laatst bewerkt:
Doe er een voorbeeldje bij, zou ik zeggen. En vergeet dat SELECT filter, want je weet het ID al van het record uit Subform1. Dat is immers actief.
 
Ik heb dit opgelost als volgt.

Het hele SQL-statement als filter (formuliereigenschap) van frmSub2.

Om te zorgen dat frmSub2 ververst bij een gewijzigde selectie in frmSub1:
(Onder "bij aanwijzen" van frmSub1)

Code:
Private Sub Form_Current()
Forms!frmHoofd!frmSub2.Requery
End Sub

(Kort na het posten van deze vraag zo opgelost. Zonet pas herinnerd dat deze vraag nog openstond. Beter laat dan nooit!)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan