Jak określić, kto jest zalogowany do bazy danych przy użyciu programu Microsoft Jet UserRoster w programie Access
Zaawansowane: wymaga specjalistycznego kodowania, współdziałania i wielodostępnych umiejętności.
Ten artykuł dotyczy pliku bazy danych programu Microsoft Access (.mdb) lub pliku bazy danych programu Microsoft Access (.accdb).
Podsumowanie
W tym artykule pokazano, jak za pomocą usługi Microsoft Visual Basic for Applications wyświetlić listę użytkowników zalogowanych do bazy danych.
Firma Microsoft podaje przykłady programowania tylko dla celów ilustracyjnych, nie udzielając żadnej rękojmi, wyrażonej wprost ani dorozumianej, w tym także, ale nie tylko, dorozumianej rękojmi co do przydatności handlowej lub do określonych celów. W tym artykule zakłada się, że czytelnik zna demonstrowany język programowania oraz narzędzia używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy Pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu działania określonej procedury. Nie będą oni jednak modyfikować tych przykładów w celu dodania funkcji ani konstruować nowych procedur celem dostosowania ich do potrzeb użytkownika.
W przypadku korzystania z następującego przykładowego kodu są zwracane następujące informacje:
- Nazwa komputera.
- Nazwa logowania.
- Czy użytkownik jest obecnie połączony z bazą danych. (Identyfikator użytkownika pozostaje w bazie danych blokady, dopóki ostatni użytkownik nie rozłączy się lub do momentu odzyskania miejsca dla nowego połączenia użytkownika).
- Czy połączenie użytkownika zostało przerwane w normalnych warunkach.
Te informacje mogą również służyć do izolowania problemów z uszkodzeniem bazy danych skojarzonych z działaniami określonego użytkownika.
Procedura
Uwaga
Jeśli wykonaj kroki opisane w tym przykładzie, zmodyfikujesz przykładową bazę danych Northwind.mdb. Możesz utworzyć kopię zapasową pliku Northwind.mdb i wykonać te kroki na kopii bazy danych.
Aby określić, kto jest zalogowany do bazy danych, wykonaj następujące kroki:
Otwórz przykładową bazę danych, Northwind.mdb.
Uwaga W programie Access 2007 otwórz przykładową bazę danych Northwind2007, zamknij przykładową bazę danych Northwind2007, a następnie ponownie otwórz przykładową bazę danych Northwind2007.
W menu Widok wskaż pozycję Obiekty bazy danych, a następnie kliknij pozycję Moduły.
Uwaga W programie Access 2007 kliknij pozycję Visual Basic w grupie Makra na karcie Narzędzia bazy danych .
Kliknij pozycję Nowy.
Uwaga W programie Access 2007 kliknij pozycję Moduł w menu Wstaw w Redaktor Visual Basic.
Wpisz lub wklej następujący kod:
Uwaga Przykładowy kod w tym artykule używa obiektów danych Usługi Microsoft ActiveX. Aby ten kod działał prawidłowo, należy odwołać się do biblioteki microsoft ActiveX Data Objects 2.1 lub nowszej wersji. W tym celu kliknij pozycję Odwołania w menu Narzędzia w Redaktor Visual Basic i upewnij się, że zaznaczono pole wyboru Microsoft ActiveX Data Objects 2.1 Library (Biblioteka obiektów danych Microsoft ActiveX 2.1).
Sub ShowUserRosterMultipleUsers() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset 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
Zapisz moduł jako ShowUsers.
Naciśnij klawisze CTRL+G, aby otworzyć okno natychmiastowe.
Wpisz następujący wiersz w oknie Natychmiastowe, a następnie naciśnij klawisz ENTER:
ShowUserRosterMultipleUsers
Zwróć uwagę , że okno Natychmiastowe zwraca listę użytkowników, którzy są zalogowani do bazy danych.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla