Registriert seit: 29.09.2015
Version(en): 2030,5
Code:
Allerdings kommt es nicht selten vor, dass es mehrere Personen mit identischem Vor- und Nachnamen gibt
Ein Database enthält keien doppelte Einträge.
Irgendwie muss es ein Unterschied geben.
Gerade dass sollte du benützen
Registriert seit: 28.05.2017
Version(en): 365
27.11.2022, 17:46
(Dieser Beitrag wurde zuletzt bearbeitet: 27.11.2022, 17:49 von EasY.)
Oh ja da sprichst du was Richtiges an, was ich aber so nicht bewerten kann.
Ich versuche es mal genauer zu schildern:
Ich habe Vorname und Nachname - beides ist gegeben. Der SamAccountName ist individuell und einmalig, allerdings kenne ich diesen zu den Personen zunächst nicht. Wonach ich innerhalb der Abfrage in der UserForm bewerte, ob es "die richtige Person" ist, wäre das LDAP-Feld "Departement", allerdings kommen da diverse in Betracht, die ich so adhoc nicht auflisten kann. Wenn ich das Departement allerdings sehe, weiß ich, dass es richtig ist. Da wären dann sowas wie "Abteilung X Berlin" oder "Abteilung Y Berlin" oder "Hotel Z Neu-Kölln" etc pp.
Puh, schwierig zu beschreiben aber ich hoffe, dass es verständlich war.
P.S.: Ich habe gerade alle LDAP-Felder durchforstet und ggf. habe ich eine Gemeinsamkeit festgestellt. Allerdings befindet sich die Gemeinsamkeit innerhalb einer Zeichenfolge und nicht die gesamte Zeichenfolge. Es handelt sich um das Feld "MemberOf". Kann man mit Excel-Funktion =Links , =Teil etc. da etwas konstruieren? Oder aber die Zeichenkette mit Sternchen als Platzhalter suchen?
Registriert seit: 28.05.2017
Version(en): 365
Ich würde meine Anfrage noch mal hochziehen wollen. Ich versuche seit geraumer Zeit, die Platzhaltersuche in den Filter einzubauen - bekomme es aber nicht hin. Hat Wer eine idee?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Du kannst z.B. mit like was in einer Zeichenfolge suchen, z.B. diese Zeichenfolge --> "*" & zeichenfolge & "*"
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• EasY
Registriert seit: 28.05.2017
Version(en): 365
Danke schauan für deine Hilfe - ich glaube so funktioniert es, aber nur in der Theorie. Beim Ausführen stürzt Excel ab. Ich befürchte, dass das so nix wird
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
die Zeichenfolge hast Du aber als Zeichenfolge?
Code:
Sub test()
Dim a$, b$
a = "Wermuth"
b = "mut"
If a Like "*" & b & "*" Then MsgBox "ok" Else MsgBox "niO"
b = "mutti"
If a Like "*" & b & "*" Then MsgBox "ok" Else MsgBox "niO"
End Sub
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 28.05.2017
Version(en): 365
Ich glaube, der Code arbeitet schon richtig - allerdings meckert er bei dem Filter des LDAP-Verzeichnisses und stürzt dann ab.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Ich dachte, du willst das Ergebnis prüfen.
Bei Datenbank Abfragen nimmt man ggf. andere Wildcards, % und _
Aber ob das direkt in der LDAP Abfrage geht kann ich nicht sagen.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• EasY
Registriert seit: 28.05.2017
Version(en): 365
Ok aber vielen Dank... Die Wildcards habe ich auch schon getestet. Ich versuche weiter :/
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
wenn man mit einer Abfrage mehrere Datensätze erhält, dann
gehe man die in einer Schleife durch, z.B.
Im Prinzip
Do Until adoRecordset.EOF
strDN = adoRecordset.Fields("distinguishedName").Value 'hier irgendein Feld das aktuellen Datensatzes abfragen
'... irgendwas tun, andere Felder abfragen, etc
adoRecordset.MoveNext
Loop
oder übernimmt das komplette recordset. Geht z.B. mit getrows in eine Variable, im Prinzip
Dim arrRS()
'...
arrRS() = adoRecordset.GetRows()
'Übertrag in ein Blatt
Cells(2, 1).Resize(UBound(arrRS, 2) + 1, UBound(arrRS, 1) + 1).Value = WorksheetFunction.Transpose(arrRS())
'oder in einer Schleife die Items des Array prüfen ...
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)