Access) (Application.CurrentObjectName 屬性
搭配Application 物件使用CurrentObjectName屬性來判斷使用中資料庫物件的名稱。 作用中的資料庫物件是具有焦點或程式碼正在執行的物件。 唯讀的 String。
語法
運算式。CurrentObjectName
expression 代表 Application 物件的變數。
註解
CurrentObjectName 屬性是由 Microsoft Access 設包含作用中的物件名稱的字串運算式。
下列情況決定哪個物件會被視為作用中物件:
如果作用中的物件是屬性表、 命令列、 功能表、 調色盤或欄位清單中的物件,則 CurrentObjectName 屬性會傳回基礎物件的名稱。
如果作用中的物件是快顯表單,則 CurrentObjectName 屬性會參照快顯表單本身,不開啟它的表單。
如果作用中的物件是資料庫視窗,則 CurrentObjectName 屬性會傳回在 [資料庫] 視窗中選取的項目。
如果未選取物件,則 CurrentObjectName 屬性會傳回零長度字串 ("")。
如果目前狀態模棱兩可, (使用中物件不是資料表、查詢、表單、報表、宏或模組) ,例如,如果對話方塊具有焦點, 則 CurrentObjectName 屬性會傳回對話方塊名稱。
範例
使用此屬性搭配 SysCmd 方法來判斷使用中物件及其狀態 (例如,如果物件是開啟、新增或已變更,但未儲存) 。
下列範例會使用 CurrentObjectType 及 CurrentObjectName 屬性 SysCmd 函數來判斷作用中的物件是 Products 表單及如果此表單會在開啟並已變更但未儲存。 如果這些條件為真,格式為儲存並關閉。
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 支援與意見反應。