Access 2007 / VBA - 多个表单实例,从模块更新特定实例的控件
Posted
技术标签:
【中文标题】Access 2007 / VBA - 多个表单实例,从模块更新特定实例的控件【英文标题】:Access 2007 / VBA - Multiple Instances of Form, Update controls on specific instance from Module 【发布时间】:2016-10-09 05:20:36 【问题描述】:我正在使用 Allen Browne 的方法来创建和管理表单的多个实例。我被困在如何从 VBA 模块引用表单的特定实例上的控件或属性。以下是我打开新实例的方法:
'Purpose: Open an independent instance of form frmMasterRecord.
Dim frm As Form
'Housekeeping
myFilter = Trim("" & myFilter)
'Open a new instance, show it, and set a caption.
Set frm = New Form_frmMasterRecord
frm.ServerFilter = myFilter
frm.ServerFilterByForm = True
frm.Requery
frm.Visible = True
'Append it to our collection.
clnMasterRecord.Add Item:=frm, Key:=CStr(frm.hwnd)
Set frm = Nothing
假设我打开了三个 frmMasterRecord 实例。如何在模块中调用子/函数并让它仅在表单的调用实例上操作控件?
【问题讨论】:
你试过的代码是什么? 【参考方案1】:传递对调用表单的引用:
Result = MyExternalFunction(Me)
和
Public Function MyExternalFunction(ByRef frm As Form) As Boolean
' Do stuff with object frm.
MyExternalFunction = Result
End Function
【讨论】:
以上是关于Access 2007 / VBA - 多个表单实例,从模块更新特定实例的控件的主要内容,如果未能解决你的问题,请参考以下文章
Access 2007 拆分表单 VBA:打开时 acNewRec 可防止在表单中跳动 - 就像第一个字段未“选择”一样
在Access 2007 VBA中,未保存的表单和报表是否可以键入为“AccessObject”..?
通过 VBA 在 Access 2007 中运行以相同单词开头的多个查询
Access 2007 VBA:构建一个列表框,其中包含来自另一个列表框的选择选项