Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Name und Vorname aus AD in Access Feld importieren

Frage Microsoft Microsoft Office

Mitglied: lordofremixes

lordofremixes (Level 1) - Jetzt verbinden

02.12.2011, aktualisiert 09:55 Uhr, 5649 Aufrufe, 13 Kommentare

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
Mitglied: Medusaman
02.12.2011 um 10:05 Uhr
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:

01.
Set objSysInfo = CreateObject("ADSystemInfo")  
02.
strUser = objSysInfo.UserName  
03.
Set objUser = GetObject("LDAP://" & strUser)  
04.
Set objWord = CreateObject("Word.Application")  
05.
objWord.UserName = objUser.givenName & " " & objUser.SN 
06.
objWord.UserInitials = Left(objUser.givenName, 1) & ". " & Left(objUser.SN, 1) & "." 
07.
objWord.Quit
Grüße Medusaman
Bitte warten ..
Mitglied: lordofremixes
02.12.2011 um 10:08 Uhr
Hallo Medusaman,

ich glaube das bringt mit so nichts. Warum soll ich die bekommenen Informationen in Word schieben, das geht doch bestimmt auch direkt dass ich in Access in ein Ereignis einen Code reinschreibe, oder nicht?

Gruß
lordofremixes
Bitte warten ..
Mitglied: Medusaman
02.12.2011 um 10:20 Uhr
Möglich, damit hab ich mich noch nicht beschäftigt, aber du kannst ja schon mal sehen, das ich den kompletten Username so auslese:

01.
objUser.givenName & " " & objUser.SN 
du macht das mit:

01.
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.
Bitte warten ..
Mitglied: lordofremixes
02.12.2011 um 10:41 Uhr
ah ok, guer tipp
benötige die Daten nämlich dann in dieser Form:
Nachname, Vorname also zum Beispiel Mustermann, Max

shit , hat denn hier keiner eine fertige Lösung?
Bitte warten ..
Mitglied: Medusaman
02.12.2011 um 11:05 Uhr
Ich versuch mich gerade selbst an deinem Problem.
Wenn ich eine Lösung habe sag ich bescheid
Bitte warten ..
Mitglied: lordofremixes
02.12.2011 um 11:09 Uhr
ok, bin gerade auch am googlen..
Vielen Dank für deine Hilfe !!!

gruß
lordofremixes
Bitte warten ..
Mitglied: Medusaman
02.12.2011 um 11:19 Uhr
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:

01.
Private Sub Bezeichnungsfeld0_Click() 
02.
 
03.
End Sub
Dazwischen hab ich einfach mein Script eingefügt und angepasst:

01.
Private Sub Bezeichnungsfeld0_Click() 
02.
On Error Resume Next 
03.
Dim strUser, objSysInfo, objuser 
04.
Set objSysInfo = CreateObject("ADSystemInfo") 
05.
strUser = objSysInfo.Username 
06.
Set objuser = GetObject("LDAP://" & strUser) 
07.
Bezeichnungsfeld0.Caption = objuser.Username 
08.
End Sub
Allerdings schreibt er bei mir nichts rein.
Wenn ich das "objuser.Username gegen "Hallo" austausche, funktioniert es aber.
Bitte warten ..
Mitglied: Medusaman
02.12.2011 um 11:27 Uhr
Ok ich hab's noch mal getestet.
Mit

01.
Bezeichnungsfeld0.Caption = objuser.givenName & " " & objuser.SN
funktioniert es.
Kannst es ja mal bei dir testen.

Gruß
Bitte warten ..
Mitglied: Medusaman
02.12.2011 um 11:44 Uhr
lol

Noch eine Verbesserung:

01.
Private Sub Form_Load() 
02.
On Error Resume Next 
03.
Dim strUser, objSysInfo, objuser 
04.
Set objSysInfo = CreateObject("ADSystemInfo") 
05.
strUser = objSysInfo.Username 
06.
Set objuser = GetObject("LDAP://" & strUser) 
07.
Bezeichnungsfeld0.Caption = objuser.givenName & " " & objuser.SN 
08.
End Sub
Dadurch wird das Bezeichnungsfeld0 beim Laden des Formulars mit dem Vor- und Nachname befüllt.
Bitte warten ..
Mitglied: 60730
02.12.2011 um 12:04 Uhr
Moin,

(OT)
Zitat von lordofremixes:
shit , hat denn hier keiner eine fertige Lösung?

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 machst 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ß
Bitte warten ..
Mitglied: lordofremixes
06.12.2011 um 10:06 Uhr
Hallo Medusaman,

ich habe es genau so eingefügt . In der Entwurfsansicht unter Ereignis beim Klicken.
Das Feld bleibt aber leer. Habe das LDAP so beschrieben:

Set objuser = GetObject("LDAP://s10" & strUser)

s10 ist die bezeichnung unseren Servers, wo das Active Directory beinhaltet.
Liegt eventuell hier der Fehler?

Gruß
lordofremixes
Bitte warten ..
Mitglied: Medusaman
07.12.2011 um 10:12 Uhr
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?
Bitte warten ..
Mitglied: lordofremixes
07.12.2011 um 13:02 Uhr
Hallo Medusaman,

so ich habe jetzt sogar ein ganz neues Formular erstellt. Mit nur einem Bezeichnungsfeld, welches ich Bezeichnungsfeld0 genannt habe.

Dann bei Ereignis beim Klicken ausgewählt und den Code so eingefügt.

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.givenName & " " & objuser.SN
End Sub

dieses private sub form_load und end sub habe ich dann entfernt.
Ich bekomme jetzt zwar keine Fehlermeldung mehr, aber im Feld steht dann nur #Name?


So eine Kacke. Weißt du vielleicht noch was?

gruß
lordofremixes
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
LAN, WAN, Wireless
Freifunk über vorhandene Access Points ausstrahlen (2)

Frage von Uwoerl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Direct Access mit VPN aufbau (4)

Frage von geocast zum Thema Windows Netzwerk ...

Windows Server
AD Replikation zwischen untergeordneten Domäne zwingend? (1)

Frage von Gien-app zum Thema Windows Server ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...