auxmoney - Geld leihen für das Studiumauxmoney - Geld leihen für das Studium

auxmoney - Geld leihen für den Umzugauxmoney - Geld leihen für den Umzug

Access - Liste aller angemeldeten Anwender

Liste aller angemeldeten Anwender

In Access hat man die Möglichkeit, mit wenig Aufwand alle angemeldeten Anwender einer Datenbank sowie die entsprechenden Rechnernamen zu ermitteln.

Public Sub ListLoggedInUsers()
On Error GoTo PROC_ERR
Dim cnnAktuelleConn As Connection
Dim rstErgebnisSchema As New Recordset

Set cnnAktuelleConn = CurrentProject.Connection
Set rstErgebnisSchema = cnnAktuelleConn.OpenSchema( _
  adSchemaProviderSpecific, , "{947bb102-5d43-11d1-bdbf-00c04fb92675}")

Debug.Print

While Not rstErgebnisSchema.EOF
  Debug.Print "Rechner: " & _
   rstErgebnisSchema.Fields(0).Value
  Debug.Print "User: " & _
   rstErgebnisSchema.Fields(1).Value
  Debug.Print String$(50, "-")
  rstErgebnisSchema.MoveNext
Wend

PROC_EXIT:
  Exit Sub

PROC_ERR:
  MsgBox Err.Description
  Resume PROC_EXIT

End Sub

Die Namen der angemeldeten User sind in einem sogenannten "Schema" gespeichert, das man anhand einer "Schema-ID" vom OLE DB-Provider abrufen kann. Das Ergebnis wird dann in Form eines Recordsets zurueckgeliefert. Um diese Daten in einer Access-Datenbank abzurufen, reicht eine kleine VBA-Routine, die die Namen wie in unserem Beispiel im Direktfenster ausgibt. Man kann die Inhalte des Recordsets auch intern verarbeiten.

Der Abruf von Schemata erfolgt über die "OpenSchema"-Methode des Connection-Objektes. Dazu weist man einer Objektvariablen die aktuelle Verbindung der Datenbank zu. "cnnAktuelleConn.OpenSchema" liefert dann ueber die Schema-ID "{947BB102-5D43-11D1-BDBF-00C04FB92675}" ein Recordset als Ergebnis (Schema-IDs sind in der Dokumentation des jeweiligen OLE DB-Providers aufgelistet).

Das Recordset gibt im ersten Feld über den Rechnernamen und im zweiten Feld über den Usernamen Auskunft. Diese Informationen schreibt man pro User durch eine Linie getrennt in das Direktfenster. Sobald man das Modul in einer Datenbank erstellt hat, steht die neue Funktion zur Verfügung. Bei Bedarf öffnet man mit Strg+G das Direktfenster, gibt "? ListLoggedInUsers" ein und kann sofort sehen, welche User momentan mit der betreffenden Datenbank arbeiten.

Mehr Tipps: Access - Schaltfläche für automatisches Wählen

Sponsoren und Investoren

Sponsoren und Investoren sind jederzeit herzlich willkommen!
Wenn Sie die Information(en) auf dieser Seite interessant fanden, freuen wir uns über eine kleine Spende. Empfehlen Sie uns bitte auch in Ihren Netzwerken (z. B. Twitter, Facebook oder Google+). Herzlichen Dank!

Nach oben Sitemap
Impressum & Kontakt