Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: m3 am 30.08.05 - 11:28:59
-
Hallo!
Ich wieder mal. ;)
Ich komm bei folgender Fragestellung einfach nicht weiter. Ev. habt Ihr ja eine geniale Idee für mich:
Wie kann man in der Volltextsuche nach einem leeren Datumsfeld suchen? Ich brauch als Suchergbnis alle Dokumente, bei denen ein bestimmtes Datumsfeld noch nicht gesetzt wurde.
Geht das überhaupt?
-
bin mir nicht mehr 100% sicher, aber ich glaube Du muss nach dem Startdatum von Notes abfragen. Leere Datumsfelder werden mit dem Datum 30.12.1899 behandelt.
In etwa so: Not [Datum] < 1/1/1900
-
habe gerade nochmal nachgesehen und meine Formel lautete so:
([DatumAb] <= @Today OR Not [DatumAb] < 1/1/1900) AND ([DatumBis] >= @Today OR Not [DatumBis] < 1/1/1900)
Dabei werden nur ausgefüllte Datums-Felder beachtet und @Today musste zwischen DatumAb und DatumBis liegen.
-
Vielen herzlichen Dank! Funktioniert super.
Falls wir uns mal sehen, ist Dir ein [Getränk Deiner Wahl] von mir sicher! :)
Was würde ich nur ohne diesem Forum machen?
-
Wenn ich ein Dokument über ein Skript erzeuge und dort
doc.TP_Datum = Null
Call doc.ComputeWithForm(True, False)
Call doc.Save(True, False)
mache, setzt er mir das Feld TP_Datum auf den Typ String mit dem Value "". Wenn ich dann nach "[TP_Datum] < 1/1/1900" suche, findet er nix.
Hat wer eine Idee, was ich falsch mache?
P.S.:
Ich hab den Code jetzt so geaendert:
Dim dateTime As NotesDateTime
Set dateTime = New NotesDateTime( "" )
Call doc.ReplaceItemValue( "TP_Datum", dateTime)
Damit hab ich zumindest ein korrektes Date/Time Feld mit NULL Inhalt. Aber darauf abfragen kann ich noch immer nicht. :(
Wenn ich beim New statt dem "" eine 0 angebe, erstellt er mir den Wert 1.8.2000 - auch nicht ideal.
-
Sorry für die Selbstgespräche, ich habs gelöst.
Das Feld sollte so erstellt werden:
' Datumsfeld leer initialisieren
Dim dateTime As NotesDateTime
Set dateTime = New NotesDateTime( "" )
Call doc.ReplaceItemValue( "TP_Datum", dateTime)
Dann kann man sehr wohl mittels entweder "(NOT ([TP_Datum] > 1/1/1900))" nach den leeren Feldern suchen.