Zum Inhalt springen

Benutzernamen in Access VBA auslesen mit Win XP


Empfohlene Beiträge

Geschrieben

Hallo Leute,

hab ein Problem. Und zwar habe ich in einer Datenbank folgendes Modul:

Option Compare Database


'Hier die benötigten API-Deklarationen

Declare Function GetUserName Lib "advapi32.dll" _

  Alias "GetUserNameA" (ByVal lpBuffer As String, _

  nSize As Long) As Long


'Die Prozedur ermittelt den angemeldeten

'Benutzernamen

Public Function GetBenutzer() As String

  Dim UserName As String

  Dim Result As Long


  UserName = Space$(256)

  Result = GetUserName(UserName, Len(UserName))


  If InStr(UserName, Chr$(0)) > 0 Then _

    UserName = Left$(UserName, InStr(UserName, Chr$(0)) - 1)


  UserName = UCase(Mid(UserName, 1, 1)) & Mid(UserName, 2)

  GetBenutzer = UserName

End Function

Bisher hat das auch alles einwandfrei funktioniert. Aber jetzt hat ein Kollege von mir seinen Rechner auf Win XP migriert bekommen und es funktioniert bei ihm nicht. Vorher haben nur Rechner mit Win 2000 mit der Datenbank gearbeitet. Access Version ist 2002.

Gibt es da eine andere DLL? Oder wie müsste ich die o.g. Funktion anpassen, dass es auch unter XP funktioniert?

Danke Euch!

Geschrieben

Hilfreich für Zeitgenossen ohne Kristallkugel wäre eine etwas genauere Erläuterung von "funktioniert nicht".

Die API-Funktion unter der benutzten dll arbeitet jedenfalls auch unter XP.

Interessant wäre der Rückgabewert; dein result.

Ist er 0, so ist in der API Funktion ein Fehler aufgetreten.

Geschrieben
Original geschrieben von maxim_42

Hilfreich für Zeitgenossen ohne Kristallkugel wäre eine etwas genauere Erläuterung von "funktioniert nicht".

Die API-Funktion unter der benutzten dll arbeitet jedenfalls auch unter XP.

Interessant wäre der Rückgabewert; dein result.

Ist er 0, so ist in der API Funktion ein Fehler aufgetreten.

Also...

Die Funktion liest den Windows-Anmeldenamen des Benutzers aus. Bei den Windows 2000 Nutzern funktioniert es ohne Probleme. Bei dem Windows XP User bringt er eine Parameterabfrage.

Geschrieben

Alternativ (geht zumindest unter XP und 2000) kannst du mit

current_user = Environ$("UserName")

den aktuellen Benutzer ermitteln. Dabei wird allerdings auf eine Umgebungsvariable zugegriffen, die der Anwender ändern kann.

Über API müßte ich @home schauen, da hab ich sowas am laufen, aber noch nicht unter XP getestet.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...