Autor Thema: Datumsfelder vergleichen ? Machbar ?  (Gelesen 6900 mal)

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Datumsfelder vergleichen ? Machbar ?
« am: 09.07.04 - 12:15:12 »
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

  • Gast
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #1 am: 09.07.04 - 12:54:16 »
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.

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #2 am: 09.07.04 - 13:06:14 »
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

  • Gast
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #3 am: 09.07.04 - 13:19:54 »
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)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #4 am: 09.07.04 - 13:23:53 »
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

Driri

  • Gast
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #5 am: 09.07.04 - 13:30:49 »
OKay, da war ich wohl zu voreilig, danke Bernhard.  ;)

Andere Alternative, die mir einfällt wäre, den Inhalt des Listenfeldes zu sortieren und dann das erste bzw. letzte (je nach Sortierung) Element der Liste per @Subset zu ermitteln.

Könnte man im Querysave als Script unterbringen, aber vermutlich ist Bernhards Vorschlag dann besser, da man da alles über ein Feld abwickeln kann.

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #6 am: 09.07.04 - 13:54:08 »
Ok das klingt noch besser ! Aber wo lasse ich das den berechnen ? Also in einem Feld oder wie ? Das ist mir noch nicht so ganz klar.

Also wo schreibe ich das rein: "d1 := .... bis d10 := ..." ?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #7 am: 09.07.04 - 14:00:28 »
Also wo schreibe ich das rein: "d1 := .... bis d10 := ..." ?
In ein zusätzliches berechnetes Feld.

@Driri:
Wie willst Du denn die Liste sortieren ? Vielleicht habe ich jetzt ja ein Brett vor'm Kopp ...

Bernhard

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #8 am: 09.07.04 - 14:16:39 »
Wenn ich das so reinschreibe wie du es oben gemacht hast und dann die feldnamen anpasse und das dann noch bis d10 fortführe, dann bekomme ich eine Fehlermeldung: Kein Haupt- oder Auswahlausdruck in Formel:"

Was mache ich dann falsch ?

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #9 am: 09.07.04 - 14:18:54 »
Am Schluss schreibst Du noch ein

d10

so, dass das Resultat auch im Feld erscheint
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #10 am: 09.07.04 - 14:36:06 »
Ahhhh ! Der Schleier ist gefallen ! Danke, klappt ja super !

Driri

  • Gast
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #11 am: 09.07.04 - 14:49:05 »
@Bernhard :

Wieso ? Wenn ich eine Liste mit Werten habe, kann ich die doch per Script sortieren lassen. Die sortierte Liste schieße ich dann in das Feld und kann dann wieder per @Subset operieren. Oder ich zieh mir direkt den entsprechenden Wert aus der Liste und setze den in ein entsprechendes Feld.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #12 am: 09.07.04 - 15:03:01 »
Jo, mit Script ... Aber wozu dann noch ein @Subset mit Formelsprache - dann kann ich das doch gleich simpler halten und das ermittelte Minimum auch noch ins gewünschte Feld werfen.

Ich dachte schon, Du hättest @Sort entdeckt  ;D

Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #13 am: 09.07.04 - 16:07:59 »
@sort erst ab ND6, dort aber durchaus entdeckbar :)
Damien Katz sei dank
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #14 am: 09.07.04 - 16:15:27 »
Jo, in R6. Aber da hat sich ja eh' eine Menge gebessert. Aber bis dahin muss man eben für R5-Installationen noch 'drumrum programmieren (was ja auch reizvoll sein kann ;-)
Was auch bei R6 nicht aufhören wird ... Wir hatten es ja gerade heute wieder mit den nach wie vor dringend erwünschten, aber fehlenden Methoden der NotesUIDocument Class.

Bernhard

Driri

  • Gast
Re:Datumsfelder vergleichen ? Machbar ?
« Antwort #15 am: 12.07.04 - 09:58:22 »
Jo, mit Script ... Aber wozu dann noch ein @Subset mit Formelsprache - dann kann ich das doch gleich simpler halten und das ermittelte Minimum auch noch ins gewünschte Feld werfen.

Ich dachte schon, Du hättest @Sort entdeckt  ;D

Bernhard

Hast recht, wenn schon Script, dann richig  ;)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz