Domino 9 und frühere Versionen > Entwicklung
Datumsfelder vergleichen ? Machbar ?
Catrex:
Hallo,
ich habe eine kurze Frage. Ich habe eine Maske in der mehrere Datumsfelder sind. Ich möchte mir gerne immer das kleinste Datum in einer Ansicht anzeigen lassen. Ist das machbar. Man könnte doch ein berechnedes Feld nehmen und dann sowas wir @min machen oder so. Aber dazubrauche ich ja Zahlenwerte und kein Datum. Kann ich ein Datum nicht als Integer darstellen lassen ?
Es handelt sich um 10 Datumsfelder die nicht zwangsläufig ausgefüllt sind. Wenn aber welche ausgefült sind soll immer das "neuste" bzw. "jüngste" odr auch "kleinste" im berechnenden Feld stehen !
Vielleicht hat ja einer von euch eine Idee oder so !
mfg
Sebastian ! ! !
Driri:
Du müßtest dann die Werte der Datumsfelder in einem Listenfeld so umbauen, daß daraus Zahlen werden :
@Integer(YYYYMMDD)
Das ergibt dann aus
09.07.2004 -> 20040709
08.06.2004 -> 20040608
etc.
In ein zusätzliches berechnetes Feld würde ich dann mit @Min(Listenfeld) das Minimum reinpacken, daß kann man dann in der View wieder verwenden, muß man dann halt noch den Integer wieder zu nem Datum umbasteln.
Catrex:
Mmmh, hört sich logisch an, aber wie bekomme ich die da rein ? Das ist mir noch nicht so klar, und wo gebe ich dann an wie "er" die Daten umzuwandeln hat ?
Driri:
Für das Listenfeld (berechnet), sollte z.B. folgende Formel funktionieren :
@Integer(@Year(Datum1)&@Month(Datum1)&@Day(Datum1):_
@Integer(@Year(Datum2)&@Month(Datum2)&@Day(Datum2):_
...
Evtl. muß man da noch nen bißchen mehr basteln, ich bin mir z.B. nicht sicher, ob Monat und Datum dann auch immer zweistellig ermittelt werden.
Zusätzlich sollte man noch auf NULL prüfen, bevor man die Werte da zusammenkettet.
Das zweite berechnete Feld für den Minwert könnte dann so aufgebaut sein :
@Min(Listenfeld)
koehlerbv:
Mit @Min wird das nicht funktionieren, da immer zwei Werte verglichen werden. Sind es Listen, erfolgt ein paarweiser Vergleich.
Notes speichert wie auch andere Programme Datumswerte intern grundsätzlich sowieso schon als Zahl ab, ein Vergleich ist also immer ohne Umwandlung möglich. Ich befürchte nur, dass das nur "zu Fuss" zu erledigen ist:
d1 := @If (@IsTime (Datum1); Datum1; @Date (2499;12;31);
d2 := @If (@IsTime (Datum2) & Datum2 < d1; Datum2; d1);
d3 := @If (@IsTime (Datum3) & Datum3 < d2; Datum3; d2);
und so weiter.
In der letzten Variablen steht dann der kleinste gefundene Wert.
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln