如何使用 VBA 在 Access 中关闭单个表单实例?
Posted
技术标签:
【中文标题】如何使用 VBA 在 Access 中关闭单个表单实例?【英文标题】:How can I close a single form instance in Access using VBA? 【发布时间】:2016-11-25 15:03:07 【问题描述】:我的应用程序旨在打开同一表单“请求”的多个实例。在图中,通过单击表单中的特定按钮,可能会发生一系列更新操作,然后关闭当前实例。
我已经能够管理当前记录的更新操作。但是,通过调用
Docmd.Close
或
Docmd.Close acForm, Me.Name, acSaveNo
关闭事件在表单的第一个打开实例上触发,不一定是触发操作的实例。
有没有办法使用 VBA 代码关闭特定实例?
【问题讨论】:
【参考方案1】:在您打开表单时通过其hWnd
属性识别这些表单,和/或将它们添加到一个集合,您可以在其中通过您选择的字符串来识别它们。
代码可以是这样的:
Option Compare Database
Option Explicit
Private colForms As Collection
Private blnFrmsInit As Boolean
Function MyFormOpen(strFrmName As String, strInstanceName As String)
Dim frm As Form
If blnFrmsInit = False Then
Set colForms = New Collection
blnFrmsInit = True
End If
Set frm = New Form_lfrmSpecialtyPreferences
frm.Caption = strInstanceName
colForms.Add frm, strInstanceName
End Function
Function MyFormClose(strInstanceName As String)
colForms.Remove strInstanceName
End Function
【讨论】:
以上是关于如何使用 VBA 在 Access 中关闭单个表单实例?的主要内容,如果未能解决你的问题,请参考以下文章
有啥方法可以使用 VBA 更改 Microsoft Access 中表单上的 PopUp 属性?