访问子窗体链接到子窗体中的选择不会更新

问题描述:

我有一个包含四个子窗体的主窗体。访问子窗体链接到子窗体中的选择不会更新

第一个子表格Activity Subform_DatasheetView直接链接到主表格Compliance并根据三个下拉列表中的选择查找记录。

第二个子表单CommentDatasheet_Subform显示与在第一个子表单中选择的记录相关联的记录。

第三个子表格Activity Subform_Detail显示了第一个子表单中选定记录的详细信息。第四个子表单对第三个子表单的作用方式相同。

所有这些子窗体都可以工作,只要他们显示我想要的细节,但只有在手动选择每个子窗体并刷新它们之后。

问题:如何让我的子表单自动更新/刷新?我只看到主窗体中的“点击”事件选项。

+0

我也遇到过类似的问题。现在我从一个空白模板创建自己的表单,并使用vba中的自定义sql命令来控制所有数据流。更多的编码,但它避免了使用子表单的麻烦和局限性 – Michael

+0

我自己对这些子表单感到有些沮丧。我最初使用向导创建了第一个子表单,该向导基于我使用的表格命名子表单,所有这些表单都以“tbl_”作为前缀。所以这个子表单被称为“tbl_xxxx子表单”......一团糟。我想重命名它......现在连接已断开。无法弄清楚它是什么错误。我调整了主/子字段...仍然不起作用。我明白了为什么你会开始使用SQL作为解决方案。 – rohrl77

+0

我遇到了完全相同的问题。如果你想编辑一些东西,就好像你需要从子表单开始一样。非常令人沮丧。绝对坚持SQL并处理所有的数据输入并在VBA中进行验证。我花了几个小时习惯使用VBA作为替代品,但我不会回头。对不起,我忍不住 – Michael

您可以创建你的子窗体的事件有型模刷新其他子窗体时,记录被改变,就像这样:

Subform_DatasheetView表单代码

Public Event RecordChanged() 

Private Sub Form_Current() 
    RaiseEvent RecordChanged() 
End Sub 

Compliance表单代码

Dim WithEvents m_Subform_DatasheetView As Form_Subform_DatasheetView 

Private Sub Form_Load() 
    m_SubForm_DatasheetView = Me.Subform_DatasheetView 
End Sub 

Private Sub m_Subform_DatasheetView_RecordChanged() 
    CommentDatasheet_Subform.Requery() 
    Subform_Detail.Requery() 
End Sub 
+0

语句Dim WithEvents m_Subform_DatasheetView引发错误。我从来没有见过它。我是否需要添加参考以使其正常工作? – rohrl77

+0

@ rohrl77道歉,应该声明为'Form_Subform_DatasheetView' – Chawin

+0

@ rohrl77你的问题已解决? – Chawin