文章編號: 285822 - 上次校閱: 2007年7月3日 - 版次: 7.1

如何判斷誰登入到資料庫在 Access 中使用 Microsoft Jet UserRoster

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

結論

本文將告訴您如何使用應用程式的 Microsoft Visual Basic 來輸出之登入資料庫的使用者的清單。

Microsoft 僅,為了說明提供程式設計範例,不提供任何明示或默示的保證。這包括,但不限於適售性或適合某特定用途之默示擔保責任。本文假設您已熟悉使用我們所示範的程式設計語言以及建立和偵錯程序所使用的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能。不過,不會修改這些範例以提供附加功能或建構程序,以符合您特定需求。

當您使用 [下列的範例程式碼會傳回下列資訊:
  • 電腦名稱。
  • 登入名稱。
  • 是否在使用者目前連線至資料庫。(使用者的 ID 維持鎖定資料庫直到最後一個使用者中斷連線或插槽回收為新的使用者連線為止)。
  • 是否使用者連線已終止在正常情況下。
這項資訊也可用來找出特定的使用者活動相關聯的資料庫損毀的問題。

程序

警告: 如果您依照本範例,修改範例資料庫 Northwind.mdb。您可能要備份 Northwind.mdb 檔案和資料庫的副本上依照下列步驟執行。


如果要判斷誰登入資料庫,請依照下列步驟執行:
  1. 開啟範例資料庫 Northwind.mdb。

    附註在 Access 2007 開啟 Northwind2007 樣本資料庫、 關閉 Northwind2007 範例資料庫,然後重新開啟 Northwind2007 範例資料庫。
  2. 在 [檢視] 功能表上指向 [資料庫物件,然後按一下 [模組]。

    附註在 Access 2007 中按一下 [在 [資料庫工具] 索引標籤上 巨集] 群組中的 [Visual Basic]。
  3. 按一下 [新增]。

    附註在 Access 2007 中按一下 [插入] 功能表在 Visual Basic 編輯器上的 [模組]。
  4. 輸入或貼上下列程式碼:

    附註本文中的範例程式碼使用 Microsoft ActiveX 資料物件。這個程式碼正確地執行您必須參考 Microsoft ActiveX 資料物件 2.1 或新版程式庫。若要執行這項操作,按一下 [工具] 功能表中 Visual Basic 編輯器] 中上的 [參考],並確定已選取 Microsoft ActiveX 資料物件 2.1 程式庫] 核取方塊
    Sub ShowUserRosterMultipleUsers()
        Dim cn As New ADODB.Connection
        Dim rs As New ADODB.Recordset
        Dim i, j As Long
    
        Set cn = CurrentProject.Connection
    
        ' The user roster is exposed as a provider-specific schema rowset
        ' in the Jet 4.0 OLE DB provider.  You have to use a GUID to
        ' reference the schema, as provider-specific schemas are not
        ' listed in ADO's type library for schema rowsets
    
        Set rs = cn.OpenSchema(adSchemaProviderSpecific, _
        , "{947bb102-5d43-11d1-bdbf-00c04fb92675}")
    
        'Output the list of all users in the current database.
    
        Debug.Print rs.Fields(0).Name, "", rs.Fields(1).Name, _
        "", rs.Fields(2).Name, rs.Fields(3).Name
    
        While Not rs.EOF
            Debug.Print rs.Fields(0), rs.Fields(1), _
            rs.Fields(2), rs.Fields(3)
            rs.MoveNext
        Wend
    
    End Sub
    					
  5. 將模組儲存為 ShowUsers
  6. 按下 CTRL + G 鍵開啟 [即時運算] 視窗。
  7. 即時運算視窗中輸入下列命令並按下 ENTER:
    ShowUserRosterMultipleUsers
    					
    請注意 [即時運算] 視窗會傳回登入資料庫的使用者的清單。

這篇文章中的資訊適用於:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
關鍵字:?
kbmt kbinfo kbexpertiseadvanced kbexpertiseinter kbhowtomaster KB285822 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:285822? (http://support.microsoft.com/kb/285822/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。