vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Datenbanken · ADO   |   VB-Versionen: VB5, VB606.08.02
Angemeldete Benutzer ermitteln (ADO)

Dieses Beispiel zeigt, wie sich alle an einer Access-MDB angemeldeten Benutzer ermitteln lassen.

Autor:   Dieter OtterBewertung:  Views:  31.885 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Vor ein paar Tagen haben wir Ihnen gezeigt, wie sich unter Verwendung von DAO alle Benutzer ermitteln lassen, die auf eine Datenbank zugreifen.

Das heutige Beispiel zeigt die ADO-Variante.

Hierbei werden alle Benutzer mit ihrem Login-Name sowie Computername in einer ListBox aufgelistet. Erstellen Sie ein neues Projekt und setzen zunächst einen Verweis auf die Microsoft ActiveX Data Objects 2.5 Library. Plazieren Sie dann noch eine ListBox (lstUsers), ein Label-Control (lblUsers), sowie einen CommandButton (Command1) auf die Form.

Und hier der benötigte Code:

Private Sub Command1_Click()
  Dim oConn As ADODB.Connection
  Dim oRS As ADODB.Recordset
  Dim sDBFilename As String
  Dim sPassword As String
  Dim nUsers As Long
 
  On Error GoTo ErrHandler
 
  ' Pfad zur Access-Datenbank + ggf. Passwort
  sDBFilename = "d:\temp\test.mdb"
  sPassword = "db passwort"
 
  ' Connection zur Access-MDB
  Set oConn = New ADODB.Connection
  With oConn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .Properties("Data Source") = sDBFilename
    .Properties("Persist Security Info") = False
 
    ' ggf. Passwort angeben
    If sPassword <> "" Then
      .Properties("Jet OLEDB:Database Password") = sPassword
    End If
    .Open
  End With
 
  Set oRS = New ADODB.Recordset
 
  ' Recordset erstellen, das folgende Daten enthält
  ' 
  '  + COMPUTER_NAME
  '  + LOGIN_NAME
  '  + CONNECTED
  '  + SUSPECT_STATE
  Set oRS = oConn.OpenSchema(adSchemaProviderSpecific, , _
    "{947bb102-5d43-11d1-bdbf-00c04fb92675}")
 
  ' Alle angemeldeten Benutzer in einer ListBox
  ' anzeigen: Login Name (Computer Name)
  nUsers = 0
  Do Until oRS.EOF
    lstUsers.AddItem TrimNullChar(oRS.Fields("LOGIN_NAME")) & _
      " (" & TrimNullChar(oRS.Fields("COMPUTER_NAME")) & ")"
    oRS.MoveNext
    nUsers = nUsers + 1
  Loop
  lblUsers.Caption = CStr(nUsers) + " Benutzer angemeldet"
 
  ' Recordset schließen
  oRS.Close
 
  ' Connection schließen
  oConn.Close
  Exit Sub
 
ErrHandler:
  MsgBox "Fehler..." & vbCrLf & _
    CStr(Err.Number) & " " & Err.Description
End Sub
' Hilfsfunktion
' Gibt den Text eines Strings bis zum ersten Null-Zeichen zurück
Private Function TrimNullChar(ByVal sString As String) As String
  Dim lPos As Long
 
  lPos = InStr(sString, vbNullChar)
  If lPos > 0 Then sString = Left$(sString, lPos - 1)
 
  TrimNullChar = sString
End Function



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.