Ermitteln, wer bei einer Datenbank angemeldet ist, mithilfe von Microsoft Jet UserRoster in Access
Erweitert: Erfordert Expertenkenntnisse für Codierung, Interoperabilität und Mehrbenutzerfähigkeiten.
Dieser Artikel bezieht sich auf eine Microsoft Access-Datenbankdatei (.MDB) oder eine Microsoft Access-Datenbankdatei (.ACCDB).
Zusammenfassung
In diesem Artikel erfahren Sie, wie Sie microsoft Visual Basic for Applications verwenden, um eine Liste von Benutzern auszugeben, die bei einer Datenbank angemeldet sind.
Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionsfähigkeit sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen. Die Mitarbeiter der Microsoft Product Support Services erklären Ihnen gerne die Funktionsweise einer bestimmten Prozedur. Die Mitarbeiter werden diese Beispiele jedoch weder modifizieren, um zusätzliche Funktionalität zu schaffen, noch Prozeduren entwickeln, die auf Ihre spezifischen Bedürfnisse zugeschnitten sind.
Wenn Sie den folgenden Beispielcode verwenden, werden die folgenden Informationen zurückgegeben:
- Computername.
- Anmeldename.
- Gibt an, ob der Benutzer derzeit mit der Datenbank verbunden ist. (Die ID eines Benutzers verbleibt in der Sperrdatenbank, bis der letzte Benutzer die Verbindung trennt oder bis der Slot für eine neue Benutzerverbindung freigegeben wird.)
- Gibt an, ob die Benutzerverbindung unter normalen Umständen beendet wurde.
Diese Informationen können auch verwendet werden, um Probleme mit Datenbankbeschädigungen zu isolieren, die mit den Aktivitäten eines bestimmten Benutzers verbunden sind.
Verfahren
Achtung
Wenn Sie die Schritte in diesem Beispiel ausführen, ändern Sie die Beispieldatenbank Northwind.mdb. Möglicherweise möchten Sie die Northwind.mdb-Datei sichern und die folgenden Schritte für eine Kopie der Datenbank ausführen.
Führen Sie die folgenden Schritte aus, um zu ermitteln, wer bei einer Datenbank angemeldet ist:
Öffnen Sie die Beispieldatenbank, Northwind.mdb.
Hinweis Öffnen Sie in Access 2007 die Beispieldatenbank Northwind2007, schließen Sie die Beispieldatenbank Northwind2007, und öffnen Sie dann die Beispieldatenbank Northwind2007 erneut.
Zeigen Sie im Menü Ansicht auf Datenbankobjekte, und klicken Sie dann auf Module.
Hinweis Klicken Sie in Access 2007 auf der Registerkarte Datenbanktools in der Gruppe Makro auf Visual Basic.
Klicken Sie auf Neu.
Hinweis Klicken Sie in Access 2007 im Visual Basic-Editor im Menü Einfügen auf Modul.
Geben Sie den folgenden Code ein, oder fügen Sie ihn ein:
Hinweis Der Beispielcode in diesem Artikel verwendet Microsoft ActiveX Data Objects. Damit dieser Code ordnungsgemäß ausgeführt werden kann, müssen Sie auf die Microsoft ActiveX Data Objects-Bibliothek 2.1 oder höher verweisen. Klicken Sie dazu im Visual Basic-Editor im Menü Extras auf Verweise, und stellen Sie sicher, dass das Kontrollkästchen Microsoft ActiveX-Datenobjekte 2.1-Bibliothek aktiviert ist.
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
Speichern Sie das Modul als ShowUsers.
Drücken Sie STRG+G, um das Direktfenster zu öffnen.
Geben Sie im Direktfenster die folgende Zeile ein, und drücken Sie dann die EINGABETASTE:
ShowUserRosterMultipleUsers
Beachten Sie , dass das Direktfenster eine Liste der Benutzer zurückgibt, die bei der Datenbank angemeldet sind.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für