Domino 9 und frühere Versionen > ND6: Entwicklung
Datenbanksuche mit db.Search
Onkel Domino:
Hallo zusammen!
Ich möchte eine Datenbank nach bestimmten Dokumenten durchsuchen. Es sollen Dokumenten gefunden werden, die ein bestimmtes Datumsfeld haben, welches in einem bestimmten Zeitraum liegt. Dafür habe ich die Search Funktion der NotesDatabase Klasse ins Auge gefasst. Nun habe ich gerade hier im Forum gelesen, dass man damit aber keine Datumswerte auswerten kann sondern nur Strings.
Wie kann ich anhand der Kriterien am einfachsten eine NotesDocumentCollection bekommen?
Vielen Dank schon mal für die Hilfe!
TMC:
<TMC denkt nach>
Hab zwar glaub ich db.search noch nie in Zusammenhang mit Datumsbereichen verwendet, aber wüsste jetzt nicht was da dagegenspricht...
</TMC denkt nach>
An DBSearch übergibst Du doch eine @Formel. Grundsätzlich sollten da auch Datumsselektionen möglich sein.
Poste doch mal den Link, wo Du das gelesen hast, dass dies nicht geht. Und poste gleichmal Deine @Formel so wie Du diese an DBSearch übergeben willst. Und poste die Fehlermeldung, die dabei erscheint.
Onkel Domino:
Hi Matthias,
hier der Link: http://www.atnotes.de/index.php?topic=17167.msg103330#msg103330
Zitat: "Mit NotesDatabase.Search kannst Du allerdings Konstrukte mit Datumswerten nicht verwenden - hier gehen in der Tat nur Strings."
Mein Code:
--- schnipp ---
Dim rg_col As NotesDocumentCollection
Set sDate = New NotesDateTime(uidoc.FieldGetText("StartDate"))
Set eDate = New NotesDateTime(uidoc.FieldGetText("EndDate"))
searchFormula$ = {Form = "invoice" & Date >= "} & sDate & {" & Date <= "} & eDate & {"}
Set rg_col = db.Search(searchFormula$, Nothing,0)
msgbox rg_col.Count
--- schnipp ---
Der Fehler besteht dann darin, dass die Anzahl der gefundenen Dokumente nicht mit denen Übereinstimmt, die es eigentlich sein sollten.
So long,
Markus
Ergänzung:
Sorry: Fehlermeldung ist "Type mismatch" bei o.g. SearchFormula! Hatte da noch etwas rumgetweakt :)=
TMC:
Hi Markus,
OK, wenn Bernhard (koehlerbv) das sagt, dann stimmt das wohl :)
Ich hätte jetzt geglaubt dass das in jedem Fall geht.
@Bernhard (in der Hoffnung dass er das liest):
Gibt es dazu eine Dokumentation warum dies mit Datumswerten nicht geht? Würde mich auch interessieren. Die ND6 Designerhelp zu NotesDatabase.Search sagt dazu nichts.
Matthias
TMC:
--- Zitat von: Onkel Domino am 20.11.04 - 19:15:44 ---Ergänzung:
Sorry: Fehlermeldung ist "Type mismatch" bei o.g. SearchFormula! Hatte da noch etwas rumgetweakt :)=
--- Ende Zitat ---
Nur eine Idee:
Übergib mal die Datumsfelder via @Date.
Tipp:
Zum testen von @Formula in LS ist Msgbox sehr hilfreich. Lass Dir das String zum Testen also als Msgbox ausgeben, da sieht man dann leichter, ob eine Klammer o.ä. fehlt.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln