访问子窗体链接到子窗体中的选择不会更新
问题描述:
我有一个包含四个子窗体的主窗体。访问子窗体链接到子窗体中的选择不会更新
第一个子表格Activity Subform_DatasheetView
直接链接到主表格Compliance
并根据三个下拉列表中的选择查找记录。
第二个子表单CommentDatasheet_Subform
显示与在第一个子表单中选择的记录相关联的记录。
第三个子表格Activity Subform_Detail
显示了第一个子表单中选定记录的详细信息。第四个子表单对第三个子表单的作用方式相同。
所有这些子窗体都可以工作,只要他们显示我想要的细节,但只有在手动选择每个子窗体并刷新它们之后。
问题:如何让我的子表单自动更新/刷新?我只看到主窗体中的“点击”事件选项。
答
您可以创建你的子窗体的事件有型模刷新其他子窗体时,记录被改变,就像这样:
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
我也遇到过类似的问题。现在我从一个空白模板创建自己的表单,并使用vba中的自定义sql命令来控制所有数据流。更多的编码,但它避免了使用子表单的麻烦和局限性 – Michael
我自己对这些子表单感到有些沮丧。我最初使用向导创建了第一个子表单,该向导基于我使用的表格命名子表单,所有这些表单都以“tbl_”作为前缀。所以这个子表单被称为“tbl_xxxx子表单”......一团糟。我想重命名它......现在连接已断开。无法弄清楚它是什么错误。我调整了主/子字段...仍然不起作用。我明白了为什么你会开始使用SQL作为解决方案。 – rohrl77
我遇到了完全相同的问题。如果你想编辑一些东西,就好像你需要从子表单开始一样。非常令人沮丧。绝对坚持SQL并处理所有的数据输入并在VBA中进行验证。我花了几个小时习惯使用VBA作为替代品,但我不会回头。对不起,我忍不住 – Michael