Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Benutzernamen in Access VBA auslesen mit Win XP

Empfohlene Antworten

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!

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.

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.

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.