FT-SearchString mit Datumswerten aus Maske füllen. Problem: international genutzte Anwendung

  • Hier schweigt sich die Hilfe aus.


    Folgendes Problem: ich habe eine Anwendung, in die ich eine Volltextabfrage in einer Suchmaske integrieren will, indem der Anwender bestimmte Felder mit Suchinhalten versieht. Beim Schließen des Dokuments wird daraus ein QUERYSTRING zusammengebaut und auf das aktuell geöffnete Objekt (Datenbank oder View - je nachdem, von wo aus aufgerufen) ausgeführt, aus den Suchergebnissen ein Newsletter mit doclinks erstellt und an den Abfrager gesendet.


    Mit Textfeldern geht das wunderbar, aber was mache ich mit einem Datumsfeld ? Packe ich das mit einem uidoc.FieldGetText in seiner landessprachlichen Darstellungsform in den Querystring oder muß ich dies in eine normierte Form umwandeln ? Und wenn ja, wie ?

  • Hi,


    habe fuer die Abfrage eines Urlaubszeitraums folgendes verwendet:


    FIELD UrlaubBis >= 01.07.2006 AND FIELD UrlaubVon <= 28.08.2006


    Beide Felder sind vom Typ Time/Date.


    Hoffe, damit geholfen zu haben.


    Gruss, Dirk

  • wird nicht funktionieren in alle sprachen und länder einstellungen.


    Field Anfang >= @date(Year;Month;day;hour;min;sec) wird IMMER funktionieren, egal welches darstellung eingetragten ist.


    Ronka

  • Wo steckt das Problem ? Der Amerikaner hat bei seiner Eingabe für den 1.Juli ein Datumsformat 07/01/2006, der Deutsche ein 01.07.2006 - jeder bekommt bei einer anders formatierten Eingabe eine Fehlermeldung.


    Mein Vorgehen ist - spätestens nach DirkP s Tipp - daß ich das Datum Datum sein lasse und mir wirklich nur den Textstring des Eingabefeldes nehme und in das Suchfeldfenster einsetze.


    Der User führt die Volltextsuche jetzt in seinem Userkontext durch - und dieser Kontext kann den übertragenen String als Datum richtig interpretieren.


    Damit ist natürlich die Überlegung tot, einen Suchstring in Formelsprache zusammenzubauen und als Argument in einem FTSEARCH-Statement innerhalb eines Scripts einzubauen, denn darin brauche ich eine kanonische Form der Datumsrepräsentation - und mit der scheint es schwierig zu werden (Ronka).


    Obwohl: was liefert denn in LS ein Month(DateValue(uidoc.GetFieldText(Datumsfeld))) eigentlich zurück ? Wenn das in allen Datumsvarianten das richtige Ergebnis zurückliefert, wäre auch das möglich.