Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Auslesen des Windows Anzeigenamens

Begonnen von mlang, November 26, 2012, 16:13:37

⏪ vorheriges - nächstes ⏩

mlang

Hallo

ich versuche zur Zeit eine Datenbank in Access aufzubauen.
Hier würde ich gerne eine Änderungsbreicht einfügen, der die Kommentare und Änderungen der einzelnen Benutzer auflistet.

Hierzu habe ich versucht den Windows-Loginnamen auszulesen.

Hier der Code den ich problemlos aus einer Vorlage übernehmen konnte



Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _
    "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
 
Function fOSUserName() As String
     Dim lngLen As Long, lngX As Long
     Dim strUserName As String
   
     strUserName = String$(254, 0)
     lngLen = 255
     lngX = apiGetUserName(strUserName, lngLen)
     If lngX <> 0 Then
        fOSUserName = Left$(strUserName, lngLen - 1)
       Else
        fOSUserName = ""
     End If
End Function


Das funktioniert auch wunderbar, jedoch ist bei uns in der Firma der Anmeldename (Personalnummer) ungleich des Anzeigenamen (Voller Name).

Zur Zeit bekomme ich nur den Anmeldenamen eingefügt, der mir jedoch bei der Dokumentation leider wenig hilft....interessanter wäre das Auslesen des in Windows angezeigten Namens....

Das Auslesen des Computernamens hilft mir imho nicht weiter...da dieser gerätspezifisch und nicht abhängig von dem angemeldeten User ist

Ist sowas möglich bzw. der Code entsprechende abzuändern?

Viele Grüeße


mlang

Vielen Dank!

die Funktion fGetFullNameOfLoggedUser() gibt die gewünschten Daten weiter

jedoch stellt sich jetzt ein weiteres Problem


[color=green]Änderung von: xxxxxxx am 26.11.2012 16:47:05
test2[/color]

[color=red]Änderung von: Max Mustermann, Abteilung 愀洀 ㈀㘀⸀㄀㄀⸀㈀ ㄀㈀ ㄀㘀㨀㐀㠀㨀㌀㌀ഀ਀琀攀猀琀㈀[/color]


Der erste Part (grün) ist meine vorgehende Version (identisch mit dem Rückgabe der Funktion fGetUserName() )

Hier wird der benutzer und der Änderungszeitpunkt sowie die Änderung übergeben

Die Funktion fGetFullNameOfLoggedUser() gibt hier den korrekten Namen incl Abteilung (Max Mustermann, Abteilung) weiter jedoch danach nur kryptische Zeichen anstelle des Änderungsdatums und Änderungsinhaltes...
der Inhalt des Codes geht aber weit über mein Wissen heraus, dass ich hier auch nur Ansatzweise nach einer Lösung suchen könnte...

LG

DF6GL

Hallo,

habe den Code gerade mal unter Win-XP getestet . Dabei gibt es keine Probleme. Der Vollständige Name wird korrekt ausgegeben.

Welches Betriebssystem verwendest Du? Mag sein, dass es unter 64bit Probleme dieser Art geben könnte...

mlang

#4
Betriebssystem ist Win 7 jedoch in der 32-Bit Version...

<edit>
ich konnte das Problem nun umgehen indem ich einfach die gewünschten Daten in einem Zusatzbefehl anhänge...das stellt jetzt natürlich eine unsaubere Lösung dar..die zumindest z.Zt. ihren Dienst tut
</edit>

mfg

DF6GL

#5
Hallo,

auch beim Test  mit Win7 32bit und Acc2007 (32bit) ergibt sich kein Fehler....


[Anhang gelöscht durch Administrator]