Name und Vorname aus AD in Access Feld importieren
Hallo, ich suche eine Möglichkeit aus dem AD den Vorname und Nachname in ein Textfeld in Access 2010 zu importieren.
Hallo zusammen,
im Internet habe ich dazu folgenden Code gefunden. Leider funktioniert das nicht.
On Error Resume Next
Dim qQuery, objSysInfo, objuser
' Active Directory Informationen für den angemeldeten User lesen
Set objSysInfo = CreateObject("ADSystemInfo")
objSysInfo.RefreshSchemaCache
qQuery = "LDAP://" & objSysInfo.UserName
Set objuser = GetObject(qQuery)
Bezeichnungsfeld186.Caption = objuser.FullName
Meine Frage:
1 Ist der Code überhaupt richtig, um Vor- und Nachname zu bekommen?
2 Wo in Access muss dieser Code dann rein? Unter Ereignis welcher Eigenschaft soll ich diesen Code dann zuweisen?
3 Wie schreibe ich die LDAP Adresse richtig, wenn unser AD Server S10 heißt?
Wäre wirklich verdammt froh, wenn mir jemand helfen könnte?
Gruß
lordofremixes
Hallo zusammen,
im Internet habe ich dazu folgenden Code gefunden. Leider funktioniert das nicht.
On Error Resume Next
Dim qQuery, objSysInfo, objuser
' Active Directory Informationen für den angemeldeten User lesen
Set objSysInfo = CreateObject("ADSystemInfo")
objSysInfo.RefreshSchemaCache
qQuery = "LDAP://" & objSysInfo.UserName
Set objuser = GetObject(qQuery)
Bezeichnungsfeld186.Caption = objuser.FullName
Meine Frage:
1 Ist der Code überhaupt richtig, um Vor- und Nachname zu bekommen?
2 Wo in Access muss dieser Code dann rein? Unter Ereignis welcher Eigenschaft soll ich diesen Code dann zuweisen?
3 Wie schreibe ich die LDAP Adresse richtig, wenn unser AD Server S10 heißt?
Wäre wirklich verdammt froh, wenn mir jemand helfen könnte?
Gruß
lordofremixes
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 177155
Url: https://administrator.de/contentid/177155
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
13 Kommentare
Neuester Kommentar
Hallo lordofremixes,
ich lese per VB-Script die Daten aus dem LDAP und schiebe sie in die Benutzerinformationen im Word.
Vielleicht hilft dir das weiter:
Grüße Medusaman
ich lese per VB-Script die Daten aus dem LDAP und schiebe sie in die Benutzerinformationen im Word.
Vielleicht hilft dir das weiter:
Set objSysInfo = CreateObject("ADSystemInfo")
strUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)
Set objWord = CreateObject("Word.Application")
objWord.UserName = objUser.givenName & " " & objUser.SN
objWord.UserInitials = Left(objUser.givenName, 1) & ". " & Left(objUser.SN, 1) & "."
objWord.Quit
Grüße Medusaman
Möglich, damit hab ich mich noch nicht beschäftigt, aber du kannst ja schon mal sehen, das ich den kompletten Username so auslese:
du macht das mit:
So wie ich das sehe ließt du damit aber den direkten Nutzername in der Domain aus, Sprich du ließt z.B. nicht "Max Mustermann" sondern "mmustermann" aus.
Eben den Anmeldename.
objUser.givenName & " " & objUser.SN
du macht das mit:
objSysInfo.UserName
So wie ich das sehe ließt du damit aber den direkten Nutzername in der Domain aus, Sprich du ließt z.B. nicht "Max Mustermann" sondern "mmustermann" aus.
Eben den Anmeldename.
So, ein kleiner Teilerfolg.
Wenn du in der Entwurfsansicht deines Formulars bist, klickst du auf Ansicht --> Code
Da wählst du in dem ersten Auswahlfeld dein Objekt aus, z.B. "Bezeichnungsfeld0" und im Zweiten die Aktion mit der der Code ausgeführt werden soll, z.B. "Click".
Dadurch wird dir folgender Code eingefügt:
Dazwischen hab ich einfach mein Script eingefügt und angepasst:
Allerdings schreibt er bei mir nichts rein.
Wenn ich das "objuser.Username gegen "Hallo" austausche, funktioniert es aber.
Wenn du in der Entwurfsansicht deines Formulars bist, klickst du auf Ansicht --> Code
Da wählst du in dem ersten Auswahlfeld dein Objekt aus, z.B. "Bezeichnungsfeld0" und im Zweiten die Aktion mit der der Code ausgeführt werden soll, z.B. "Click".
Dadurch wird dir folgender Code eingefügt:
Private Sub Bezeichnungsfeld0_Click()
End Sub
Private Sub Bezeichnungsfeld0_Click()
On Error Resume Next
Dim strUser, objSysInfo, objuser
Set objSysInfo = CreateObject("ADSystemInfo")
strUser = objSysInfo.Username
Set objuser = GetObject("LDAP://" & strUser)
Bezeichnungsfeld0.Caption = objuser.Username
End Sub
Allerdings schreibt er bei mir nichts rein.
Wenn ich das "objuser.Username gegen "Hallo" austausche, funktioniert es aber.
lol
Noch eine Verbesserung:
Dadurch wird das Bezeichnungsfeld0 beim Laden des Formulars mit dem Vor- und Nachname befüllt.
Noch eine Verbesserung:
Private Sub Form_Load()
On Error Resume Next
Dim strUser, objSysInfo, objuser
Set objSysInfo = CreateObject("ADSystemInfo")
strUser = objSysInfo.Username
Set objuser = GetObject("LDAP://" & strUser)
Bezeichnungsfeld0.Caption = objuser.givenName & " " & objuser.SN
End Sub
Dadurch wird das Bezeichnungsfeld0 beim Laden des Formulars mit dem Vor- und Nachname befüllt.
Moin,
(OT)
doch und zwar sowohl als auch - "sowohl" hab ich dir doch im anderen Fred genannt und wegen "auch" da ist mir irgendwie die Lust vergangen..
Vorhin hast du noch zu meinem Kommentar Lustig geschrieben...
Und wasmachst du draus? läßt du draus machen?
(/OT)
Wenn du das nicht alleine hinbekommst und jetzt erst "da" bist, dann kann es doch mit der fertigen Lösung, die eh nicht funktionieren wird, wie geplant nix werden können.
Steck - oder lass da andere doch nicht noch mehr Zeit reinstecken.
Gruß
(OT)
doch und zwar sowohl als auch - "sowohl" hab ich dir doch im anderen Fred genannt und wegen "auch" da ist mir irgendwie die Lust vergangen..
Vorhin hast du noch zu meinem Kommentar Lustig geschrieben...
Und was
(/OT)
Wenn du das nicht alleine hinbekommst und jetzt erst "da" bist, dann kann es doch mit der fertigen Lösung, die eh nicht funktionieren wird, wie geplant nix werden können.
Steck - oder lass da andere doch nicht noch mehr Zeit reinstecken.
Gruß
Hallo lord,
hast du es auch ohne das "s10" probiert?
Das "GetObject("LDAP:" & strUser)" sagt ja das er das Objekt im LDAP mit dem Namen des Wertes "strUser" holen soll.
Da muss du eigentlich keinen Servernamen angeben.
Gruß Medusaman
Edit: Sprich es wird wie folgt ausgeführt:
GetObject(LDAP:mmustermann)
Dumme Frage, aber hast du auch das Feld, in dem der Name geschrieben werden soll, breiter gezogen nachdem du es eingefügt hast?
hast du es auch ohne das "s10" probiert?
Das "GetObject("LDAP:" & strUser)" sagt ja das er das Objekt im LDAP mit dem Namen des Wertes "strUser" holen soll.
Da muss du eigentlich keinen Servernamen angeben.
Gruß Medusaman
Edit: Sprich es wird wie folgt ausgeführt:
GetObject(LDAP:mmustermann)
Dumme Frage, aber hast du auch das Feld, in dem der Name geschrieben werden soll, breiter gezogen nachdem du es eingefügt hast?