Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: pippo am 12.04.05 - 15:47:47
-
Hallo,
habe ein sehr leidiges Problem:
habe in einem Feld folgenden Inhalt: "Birnen und "Äpfel""
Die Anführungszeichen links und rechts von Äpfel entsehten durch die Eingabe von Anführungszeichen vom User. Die Anführungszeichen zu Beginn und am Ende durch den Typ Textfeld.
Nun möchte ich mit db.Serch suchen...
habe aber Schwierigkeiten mit dem Suchstring...
habe folgendes probiert:
"Birnen und "Äpfel""
"Birnen und ""Äpfel"""
Notes bringt da immer eine Fehlermeldung...Fehler in Formel...
kann es sein, dass Notes das nicht macht?
Grüße, Pippo
-
Wenn du nur nach Äpfeln suchst, dann probier doch mal "Äpfel".
-
Oder klammer den kompletten Suchstring mit {} ein, statt mit "".
-
Hallo,
nur Äpfel funktioniert ja.
Möchte aber danach suchen: "Birnen und "Äpfel""
Habe hier nur ein Beispiel gemacht. In Wirklichkeit habe ich eine Liste von mehreren tausend docs; kann also nicht immer die Suchkriterien man. machen
Grüße, Pippo
-
Hi,
ich werde mit @ReplaceSubSring die "" rausschmeissen und die Validierung anpassen!!!
;D
-
habe ich auch schon probiert
wenn Du Zeit hast: mach doch eine Maske mit einem Feld und gebe dort diesen Text ein und versuche dann mit db.search das zu finden
Grüße, Pippo
-
Und dein Search String sieht wirklich so aus wie du geschrieben hast?
Dann würde der Search nach nicht nach Birnen und Äpfeln suchen sondern nach dem Begriff {Birnen und "Äpfel"}. Wenn du also nicht genau diesen Begriff in deiner Datenbank hast wirst du da nix finden.
Den Begriff "und" kennt die Search nämlich nicht und interpreitert das deswegen als kompletten String der so vorhanden sein muss.
Also den Benutzer entweder AND oder & angeben lassen, oder das "und" immer entsprechend ersetzen, oder die Eingabemaske für die Suche so gestalten das der Benutzer je Begriff eine Zeile angeben kann und die Maske das dann richtig verknüpft. Die Regeln in der Mail DB sind dafür wie sowas gehen kann ein schönes Beispiel.
N.B. Testen kannst du das indem du mit diesem Suchbegriff mal in der "normalen" FTsearch rumspielst.
-
Hallo,
habe es gelöst
sofern in einem SuchSTring ein " vorkommt, einfach \ davorsetzen und es funtioniert
Grüße, Pippo
-
Das ist auch korrekt so, da NotesDatabase.Search auf der formula engine basiert. Und diese setzt Anführungszeichen in Anführungszeichen eben als \".
Gefährlich ist, dass man daran ggf. nicht denkt, wenn man die Methode aus LS heraus verwendet, wo man derartige Umsetzungen ja mit geschweiften Klammern oder Pipes löst.
Bernhard
PS: Bin leider nicht eher dazu gekommen, Deinen Thread zu lesen ...
-
Hallo,
trotzdem danke
Schönen Tag