文章編號: 198755 - 上次校閱: 2005年6月23日 - 版次: 4.0

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

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

在此頁中

全部展開 | 全部摺疊

結論

在 Microsoft Access 2000 中的應用程式使用 Microsoft Visual Basic,您可以輸出使用者登入資料庫的清單。本文中的程式碼範例會示範如何執行這項操作。

Microsoft 僅,為了說明提供程式設計範例,不提供任何明示或默示的保證。這包括,但不限於適售性或適合某特定用途之默示擔保責任。本文假設您已熟悉使用我們所示範的程式設計語言以及建立和偵錯程序所使用的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能,但它們不會修改這些範例以提供附加功能或建構程序,以符合您特定需求。使用者的清單功能提供決定誰目前連接到 Microsoft Jet 資料庫的方法。清單透過 ADO 程式設計介面,可取得,並且傳回每個使用者的下列資訊:
  • 使用者使用的電腦名稱。
  • 安全性名稱也就是使用者識別碼。
  • 是否在使用者目前連線至資料庫。(使用者的 ID 維持鎖定資料庫直到最後一個使用者中斷連線或插槽回收為新的使用者連線為止)。
  • 是否已正常終止使用者連線。
  • 使用者清單功能可用於配合連線控制項功能,以判斷仍然連線的使用者,讓它們可以被要求中斷連線。
使用者清單功能也是使用者的有用中區隔特定活動相關聯的資料庫損毀的問題的。

程式碼範例

若要示範程式碼範例,請依照下列步驟執行:

注意: 此發行項使用 Microsoft ActiveX 資料物件的範例的撰寫程式碼。這個程式碼正常執行,您必須參考 Microsoft ActiveX 資料物件 2.x 程式庫 (其中 2.x 是 2.1 (含) 以後版本)。以執行這項操作,按一下 引用項目 在 [工具] 功能表中 Visual Basic 編輯器] 中,請確定已選取 Microsoft ActiveX 資料物件 2.x 文件庫] 核取方塊。

  1. 複製北風範例資料庫 [C:\] 資料夾。
  2. 在 Microsoft Access 中開啟 C:\Northwind。
  3. 在 [資料庫] 視窗中按一下 [物件,] 下的 [模組],然後按一下 [新增]
  4. 將模組儲存為 ShowUsers。
  5. 在新 ShowUsers 模組中輸入下列程式碼:
    Sub ShowUserRosterMultipleUsers()
        Dim cn As New ADODB.Connection
        Dim cn2 As New ADODB.Connection
        Dim rs As New ADODB.Recordset
        Dim i, j As Long
    
        cn.Provider = "Microsoft.Jet.OLEDB.4.0"
        cn.Open "Data Source=c:\Northwind.mdb"
    
        cn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;" _
        & "Data Source=c:\Northwind.mdb"
    
        ' The user roster is exposed as a provider-specific schema rowset
        ' in the Jet 4 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
    					
  6. 關閉北風貿易資料庫,並提示時, 儲存變更到 ShutDownDB (這必須完成發行到您剛剛新增的程式碼由於資料庫的獨佔鎖定)。
  7. 重新開啟 C:\Northwind。
  8. 按下 CTRL + G 鍵 Visual Basic 編輯器中開啟 [即時運算] 視窗。
  9. 即時運算視窗中輸入下列並按下 ENTER:
    ShowUserRosterMultipleUsers
    					
    請注意在即時運算視窗傳回清單的資料庫中的使用者。

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