Autor Thema: Suche nach Dokumenten mit bestimmtem Feldwert  (Gelesen 1546 mal)

Offline Hans Joachim

  • Frischling
  • *
  • Beiträge: 39
  • Geschlecht: Männlich
Suche nach Dokumenten mit bestimmtem Feldwert
« am: 28.03.06 - 10:21:02 »
Hallo,

ich habe folgendes Problem. Ich muss aus einer bestehenden Notes-Datenbank alle Dokumente herausfiltern, die in dem Feld "Field_Date" (also in der Maske im Feld "Field_Date" beim anlegen) ein neueres
Datum als den 01.09.2005 eingetragen haben.

Ich könnte nun alle Dokumente mit GetNextDocument holen, das bestimmte Feld auslesen und dann nur die Dokumente bearbeiten, bei denen das Datum (welches im Feld eingetragen ist) neuer ist als der 01.09.2005.

Ich habe aber ca. 6000 Dokumente in der Datenbank, von
denen nur ca. 300 einen Datumswert im Feld "Field_Date" > 01.09.2005 besitzen. Wenn ich nun jedes einzelne Dokument erst holen und auslesen müsste, das würde zu lange dauern.

Die Funktionen "Search" und "FTSearch" kann ich irgendwie nicht gebrauchen, da mit diesen ja nicht nur in bestimmten Feldern gesucht wird, sondern alles durchsucht wird.

Meine Frage ist nun, ob man nicht irgendwie die Dokumente nach ein bestimmtes Feld filtern könnte, z.B. alle Dokumente, die beim Anlegen in dem Maskenfeld "Field_Date" ein neueres Datum als den 01.09.2005 erhalten haben?

Wenn mir jemand weiterhelfen könnte, wäre ich sehr dankbar.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Suche nach Dokumenten mit bestimmtem Feldwert
« Antwort #1 am: 28.03.06 - 10:27:18 »
Search kannst Du sehr wohl dafür hernehmen (FTSearch eigentlich auch, nur ist's da nicht so einfach mit Datumswerten). Deine Search-Formel muss nur die richtige Formel aufweisen:
Field_Date > @Date (2005; 9; 1)

Bernhard

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: Suche nach Dokumenten mit bestimmtem Feldwert
« Antwort #2 am: 28.03.06 - 10:29:39 »
Die Funktionen "Search" und "FTSearch" kann ich irgendwie nicht gebrauchen, da mit diesen ja nicht nur in bestimmten Feldern gesucht wird, sondern alles durchsucht wird.

Wieso kannst du die Funktionen nicht gebrauchen? Du kannst sowohl bei Search, als auch bei FTSearch Felder angeben.

z.B.

...
Dim db As NotesDatabase
Dim catCollection As NotesDocumentCollection
Dim sSearch As String
...
sSearch = {SELECT xDeleteReason = "gültig"}
Set catCollection = db.Search(sSearch, dateTime,0)
...

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

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: Suche nach Dokumenten mit bestimmtem Feldwert
« Antwort #3 am: 28.03.06 - 10:35:53 »
Noch ein anderes Beispiel:

Dim collection As NotesDocumentCollection
Dim dateTime As New NotesDateTime("01/01/80")
Dim db As NotesDatabase
Dim strName As String

...
strName = "Hugo Egon"
strSearch = {@CONTAINS(xForm; "Maskenname") & @CONTAINS(Name; "} & strName & {")}
Set collection = db.Search(strSearch, dateTime, 0 )
...


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Hans Joachim

  • Frischling
  • *
  • Beiträge: 39
  • Geschlecht: Männlich
Re: Suche nach Dokumenten mit bestimmtem Feldwert
« Antwort #4 am: 28.03.06 - 10:40:25 »
Vielen Dank für die raschen und ausfühlichen Antworten.

Ich verwende nun in der Suche die Funktion Search. Mithilfe Ihren Beispielen klappt diese nun auch.

DANKE nochmals :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz