Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: m3 am 30.08.05 - 11:28:59

Titel: Volltextsuche nach leeren Datumsfeldern
Beitrag 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?
Titel: Re: Volltextsuche nach leeren Datumsfeldern
Beitrag von: diali am 30.08.05 - 11:34:25
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
Titel: Re: Volltextsuche nach leeren Datumsfeldern
Beitrag von: diali am 30.08.05 - 11:36:35
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.
Titel: Re: Volltextsuche nach leeren Datumsfeldern
Beitrag von: m3 am 30.08.05 - 11:39:37
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?
Titel: Doch noch ein Problem mit der Volltextsuche nach leeren Datumsfeldern
Beitrag von: m3 am 30.08.05 - 12:22:10
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.
Titel: Howto: FT.Search nach leeren Datumsfeldern
Beitrag von: m3 am 30.08.05 - 12:55:54
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.