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
Hallo,
siehe hier:
http://access.mvps.org/access/api/api0066.htm
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
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...
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
Hallo,
auch beim Test mit Win7 32bit und Acc2007 (32bit) ergibt sich kein Fehler....
[Anhang gelöscht durch Administrator]