Application.CurrentObjectName 属性 (Access)

CurrentObjectName 属性与 Application 对象一起使用,以确定活动数据库对象的名称。 活动数据库对象是具有焦点或正在运行代码的对象。 只读 String

语法

表达式CurrentObjectName

expression:表示 Application 对象的变量。

备注

模糊 的 Microsoft Access 设置为包含活动的对象的名称的字符串表达式。

下列条件确定将哪一对象视为活动对象:

  • 如果活动对象是属性表、 命令栏、 菜单、 调色板或字段列表中的某个对象, 模糊 属性返回基础对象的名称。

  • 如果活动对象是弹出式窗体, 模糊 是指该弹出式窗体本身,无法打开该表单。

  • 如果活动对象是数据库窗口, 模糊 属性返回数据库窗口中的选定项。

  • 如果未选定对象, 模糊 属性返回一个零长度字符串 ("")。

  • 如果当前状态不明确 (活动对象不是表、查询、窗体、报表、宏或模块) ,例如,如果对话框具有焦点, 则 CurrentObjectName 属性将返回对话框名称。

示例

将此属性与 SysCmd 方法结合使用,以确定活动对象及其状态 (例如,如果对象已打开、新建或已更改,但未) 保存。

下面的示例使用 SysCmd 函数 CurrentObjectType模糊 属性以确定活动对象是产品窗体,如果该窗体已打开,并且已被更改但没有保存。 如果这些情况属实,该窗体是否保存并关闭。

Public Sub CheckProducts() 
 
 Dim intState As Integer 
 Dim intCurrentType As Integer 
 Dim strCurrentName As String 
 
 intCurrentType = Application.CurrentObjectType 
 strCurrentName = Application.CurrentObjectName 
  
 If intCurrentType = acForm And strCurrentName = "Products" Then 
 intState = SysCmd(acSysCmdGetObjectState, intCurrentType, _ 
 strCurrentName) 
 
 ' Products form changed but not saved. 
 If intState = acObjStateDirty + acObjStateOpen Then 
 
 ' Close Products form and save changes. 
 DoCmd.Close intCurrentType, strCurrentName, acSaveYes 
 End If 
 End If 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。