Autor Thema: Search  (Gelesen 1980 mal)

Offline manuel

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Geschlecht: Männlich
  • el pueblo unido
Search
« am: 17.10.02 - 14:32:43 »
Hallo allerseits

Arbeite gerade an einer Funktion, um Dokumente nach gewissen Feldkriterien zu suchen. Das funktioniert mit dieser Methode ganz gut:

Set notesDocumentCollection = notesDatabase.Search( formula$, notesDateTime, maxDocs% )

Es ist möglich in der Suchformel, die übergeben wird, bei gewissen Feldern genau anzugeben, was in diesen Feldern enthalten sein soll. zB:

  searchFormula$ = "Form = ""Project"" & ReminderDate = @Today"

Nun ist es aber so, dass diese Suchkriterien genau übereinstimmen müssen. Es ist also nicht möglich, so wie bei der Methode FTSearch, dass wenn man "Hampel" eingibt, dass auch nach "Hampelmann" gesucht wird. Ich will aber absichtlich keine Volltextsuche verwenden, weil ich hier die Suchkriterien nicht bestimmten Feldern zuordnen kann. Dies kann nur die Methode Search, oder gibt es vielleicht doch noch eine andere Möglichkeit?

Schöne Grüße
Manuel
V 5.0.2c | Windows 2000

Glombi

  • Gast
Re:Search
« Antwort #1 am: 17.10.02 - 14:36:14 »
Wie wär's mit

searchFormula$ = "Form = ""Project"" & ReminderDate = @Today" &
@Contains(@lowercase(Feld);"hampel")

@lowercase deshalb, da dann die Suche nicht case sensitive ist.

Gruß
Andreas

Glombi

  • Gast
Re:Search
« Antwort #2 am: 17.10.02 - 14:37:41 »
ach ja, das mit den "" in String
besser ist

searchFormula$ = {Form = "Project" & ReminderDate = @Today &
@Contains(@lowercase(Feld);"hampel")}

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Search
« Antwort #3 am: 17.10.02 - 14:37:51 »
habe das in einer Anwendung mal so gemacht

Dim dc As NotesDocumentCollection   

tmp$="DeinWert"

selection = "SELECT (@Contains(TAEDNR;" & Chr(34) & tmp$  & Chr(34) & "))"

Set dc = db.Search( selection, Nothing ,0 )


selection kannst du beliebig erweitern
Chr(34) ist das " -Zeichen

eknori
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline manuel

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Geschlecht: Männlich
  • el pueblo unido
Re:Search
« Antwort #4 am: 17.10.02 - 14:47:54 »
Hey, das ist super. Funktioniert toll. Sogar das Problem mit Groß-/Kleinschreibung ist nun gelöst.

DANKE EUCH BEIDEN !!!

Schönen Gruß
Manuel
V 5.0.2c | Windows 2000

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Search
« Antwort #5 am: 17.10.02 - 15:22:36 »
... noch ne Variante

selection = |Form = "Project" & ReminderDate = @Today &
@Contains(@lowercase(Feld);"hampel")|


Die Pipe-Zeichen ersetzen die Anführungszeichen, damit lässt sich die Formel dann ganz gewöhnlich schreiben. Wenn man in der Formel dann ein "oder" braucht siehts dann so aus:


selection = |Form = "Project" |+"|"+| ReminderDate = @Today &
@Contains(@lowercase(Feld);"hampel")|

... als Beispiel

ata
Grüßle Toni :)

Offline manuel

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Geschlecht: Männlich
  • el pueblo unido
Re:Search
« Antwort #6 am: 17.10.02 - 15:26:17 »
Danke ata.
Das war mir schon bekannt. Trotzdem danke.
Mir persönlich gefällt aber der Vorschlag von Glombi besser, es mit den geschwungenen Klammer {} zu lösen.
Es ist einfach viel übersichtlicher bei einer langen Suchformel.

Schönen Gruß
Manuel
V 5.0.2c | Windows 2000

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Search
« Antwort #7 am: 17.10.02 - 20:25:19 »
Zitat
Ich will aber absichtlich keine Volltextsuche verwenden, weil ich hier die Suchkriterien nicht bestimmten Feldern zuordnen kann. Dies kann nur die Methode Search, oder gibt es vielleicht doch noch eine andere Möglichkeit?


Hi Manuel,

selbstverständlich kann man mit der Volltextsuche auch Suchkriterien bestimmten Feldern zuordnen.

Der Suchstring muss dann so aussehen:

searchFormula$ = {FIELD Form CONTAINS "Project" & FIELD ReminderDate = Today()}

oder etwas kürzer:

searchFormula$ = {[Form] CONTAINS "Project" & [ReminderDate] = Today()}


Axel
« Letzte Änderung: 17.10.02 - 21:18:11 von Axel »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline manuel

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Geschlecht: Männlich
  • el pueblo unido
Re:Search
« Antwort #8 am: 18.10.02 - 08:25:10 »
Hi Axel

Schaut gut aus, hab ich gar nicht gewusst, dass dies auch mit FTSearch funktioniert. Hab' mir gerade die Hilfe noch einmal genauer angesehen. Es gibt wirklich einige Möglichkeiten die Suche noch weiter einzuschränken.

Danke für deinen Tipp. Aber ich bleibe einstweilen bei der normalen Search-Methode.

Schönen Gruß
Manuel
V 5.0.2c | Windows 2000

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz