无法引用子窗体以重新填充记录源运行时错误2450无法找到主窗体

我有一个MainForm Groups_Members ,其中有2个子表单作为DataSheets Groups Members 。我试图根据 Groups 子表单中选定的行填充 Members 子表单。

我在子表单 Groups 中,此代码适用于表单 Members ,该表单根据选定的行重新填充记录源(更准确地,请单击id字段,这不是我真正想要的,但这是一个更具装饰性的问题):

Private Sub ID_Click()
    Dim SQLsource As String
    
    SQLsource = "SELECT [tPerson].[ID],[tPerson].[Anrede],[tPerson].[TitelVorn],[tPerson].[Vorname],[tPerson].[Nachname],[tPerson_Funktion].[Funktion],[tPerson_tInstitution].[Wochenstunden],[tPerson_tInstitution].[tInstitution_ID] " & _
                "FROM (tPerson INNER JOIN tPerson_tInstitution ON [tPerson].[ID] =[tPerson_tInstitution].[tPerson_ID]) INNER JOIN tPerson_Funktion ON [tPerson].[ID] =[tPerson_Funktion].[tPerson_ID] " & _
                "Where [tPerson_tInstitution.tInstitution_ID] = " & CurrentRecord & " ;"
    
    If CurrentProject.AllForms("Members").IsLoaded = True Then
        Forms("Members").RecordSource = SQLsource        
    End If
End Sub

但是,使其适应于MainForm“ Groups_Members”中的Subform“ Members”仍然没有成功,我也无法弄清楚为什么。

Forms!["Praxen_und_Mitarbeiter"]!["Mitarbeiter"].Form.RecordSource = SQLsource

给我一​​个运行时错误2450,尽管该表单就在我面前,但找不到表单 Groups_Members

还有这个

Me.Parent!("Mitarbeiter").Forms.RecordSource = SQLsource

提示类型不匹配错误

我显然缺少了一些东西,希望有人指出我的错误。

qiche520 回答:无法引用子窗体以重新填充记录源运行时错误2450无法找到主窗体

June7提供的链接中描述的解决方法有效:https://www.fmsinc.com/MicrosoftAccess/Forms/Synchronize/LinkedSubforms.asp

简短版本:在主窗体上创建一个不可见的控件元素,并将“控件源”属性设置为子窗体A中的值。然后将相应的子窗体B中的值链接到该控件元素。

这提供了所需的效果。引用奇数仍未解决,但这又是一次。

感谢所有花费时间的人,并感谢6月7日提供解决方案。

本文链接:https://www.f2er.com/1408449.html

大家都在问