vba access 2010更新过滤子表单

Posted

技术标签:

【中文标题】vba access 2010更新过滤子表单【英文标题】:vba access 2010 update a filtered subform 【发布时间】:2017-05-16 10:55:41 【问题描述】:

我有一个带有子表单的表单。子表单在名为 my_subform_query 的查询中具有记录源。子窗体显示查询结果,并允许过滤父窗体中带有少量组合框的内容。 查询源是 LEFT Join。 我需要更新子表单中显示的所有记录,但不需要更新查询显示的其余记录。

如果 me.recordsource 是查询 my_subform_query,我该怎么做

提前致谢

编辑:对不起,我的意思是用 CurrentDb.Execute "UPDATE table..." 执行更新查询以更新 True/false 字段...

【问题讨论】:

【参考方案1】:

从父窗体调用:

Me!NameOfYourSubformControl.Form.Requery

从/在子表单本身调用:

Me.Requery

要更新,您将使用子表单的 RecordsetClone:

Dim rs As DAO.Recordset

Set rs = Me!NameOfYourSubformControl.Form.RecordsetClone

While Not rs.EOF
    rs.Edit
        rs!YourTrueFalseFieldName.Value = True  ' or = False
    rs.Update
    rs.MoveNext
Wend

Set rs = Nothing

不需要重新查询子表单。

【讨论】:

没事吧?我标记了绿色 V。这是我在 *** 中回答的第一个问题! 完美。周末愉快!

以上是关于vba access 2010更新过滤子表单的主要内容,如果未能解决你的问题,请参考以下文章

Access 2010 Web 数据库 - 从局部变量更新文本框值?

Access 2010 VBA:为啥这个表单打开和关闭序列不起作用?

使用 VBA 在 Access 2010 中的表单上显示记录集

Access VBA:更改子表单的记录源

在 VBA Access 中动态填充其他子表单的子表单

使用 vba 在 Access 2010 中使用不同表单的 ID 打开表单