Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: ThomasHB am 06.01.11 - 15:26:57

Titel: View Darstellung Datumswerte
Beitrag von: ThomasHB am 06.01.11 - 15:26:57
Hallo zusammen,

ich habe da ein kleines Programmiertechnisches Problem und weiß nicht so ganz, wie ich das lösen.
Ich will wissen, wann ein Notebook älter ist als 1 Jahr, als 2 Jahre etc.

Jünger als 1 Jahr und 1 Jahr kriege ich hin, aber danach klappt das leider nicht mehr, weil meine Formel danach abfragt, wenn größer 1 dann, was ja praktisch auf alle nachfolgenden Einträge zutrifft...

So sieht mein Code zur Zeit aus:

Code
Datum_Anschaffung:=@Date(anschaffungsdatum);
Datum_heute:=@Date(@Now);
NB_Alter:=((Datum_heute-Datum_Anschaffung) /60 /60 /24 /365);
@If(NB_Alter<1;@Text("Jünger als 1 Jahr");NB_Alter=1;@Text("1 Jahr");@Text("Älter"))

Ich müsse also quasi jetzt abfragen:

Code
NB_Alter>1 & NB_Alter<1,9;@Text("2 Jahre")

Aber irgednwie scheint ihn das & hier nicht zu interessieren, selbst dann nicht, wenn ich es klammere...

Habt ihr eine Idee?

Grüße,
Thomas
Titel: Re: View Darstellung Datumswerte
Beitrag von: m3 am 06.01.11 - 15:32:33
Willst Du damit eine kategorisierte View aufbauen?
Titel: Re: View Darstellung Datumswerte
Beitrag von: ThomasHB am 06.01.11 - 15:33:52
richtig....
Diese soll dann anzeigen, Älter als drei Jahre und darunter fallen diese und jene Modelle...
Titel: Re: View Darstellung Datumswerte
Beitrag von: koehlerbv am 06.01.11 - 15:35:26
Vorab: Deine Verwendung von @Text, um Text zu Text zu machen, erscheint mir nicht besonders sinnvoll.

Deine zweite Formel kann nicht funktionieren (wieder wenig sinnvoll) - das NB_Alter wieder niemals gleichzeitig grösser und kleiner 1 sein.

Und Deine erste Formel brauchst Du nur wie folgt umzubauen:
@If (NB_Alter < 1; "Jünger als 1 Jahr"; NB_Alter = 1;"1 Jahr"; @Text (@Integer (NB_Alter)) + " Jahre")

HTH,
Bernhard
Titel: Re: View Darstellung Datumswerte
Beitrag von: Banni am 06.01.11 - 15:43:10
Nach der Berechnung

NB_Alter:=((Datum_heute-Datum_Anschaffung) /60 /60 /24 /365);

hat doch NB_Alter bereits den Wert für die Jahre.

Das Ergebnis müßtest Du dann auf ganze Zahlen abrunden und Dir einen String in der Form "Älter als x Jahre" zusammenbauen.

Jan
Titel: Re: View Darstellung Datumswerte
Beitrag von: ThomasHB am 06.01.11 - 15:48:25
Hallo,

hmmm nee so ganz ist das noch nicht das... Vielleicht habe ich es falsch ausgedrückt.

Also:

@If (NB_Alter < 1; "Jünger als 1 Jahr"; NB_Alter = 1;"1 Jahr"; @Text (NB_Alter) + " Jahre")

OK, funktioniert.

Aber

@If (NB_Alter < 1; "Jünger als 1 Jahr"; NB_Alter = 1;"1 Jahr"; NB_Alter > 1; "2 Jahre"; NB_Alter > 2; "3 Jahre"; @Text(NB_Alter))

Das geht schon nicht mehr, weil >1 auf jeden nachfolgenden Eintrag zutrifft, damit kommen >2 und >3 gar nicht mehr zum tragen, da liegt mein Problem und daher hatte ich versucht mit < und > zu arbeiten...

Also ist der Wert >1 und <1,9 dann ist es 2 Jahre alt...

Grüße,
Thomas
Titel: Re: View Darstellung Datumswerte
Beitrag von: ThomasHB am 06.01.11 - 15:50:54
Nach der Berechnung

NB_Alter:=((Datum_heute-Datum_Anschaffung) /60 /60 /24 /365);

hat doch NB_Alter bereits den Wert für die Jahre.

Das Ergebnis müßtest Du dann auf ganze Zahlen abrunden und Dir einen String in der Form "Älter als x Jahre" zusammenbauen.

Jan

So dachte ich zuerst auch...
Aber es gibt bei NBs, die jünger als 1 Jahr sind, den Wert 0,775546555 für das Jahr.

Mit @Round würde das aber dann aufgerundet, weil ja bekanntlich ab 0.5 aufgerundet wird.
Aber dann ist die Anzeige falsch, weil das NB ja zu dem Zeitpunkt noch kein Jahr ist.
Titel: Re: View Darstellung Datumswerte
Beitrag von: Kadlec am 07.01.11 - 00:22:48
Versuch doch mal statt > 1, <=2.

Boris
Titel: Re: View Darstellung Datumswerte
Beitrag von: koehlerbv am 07.01.11 - 00:28:08
Und was passt an der Formel aus Posting #3 nun nicht?

Bernhard
Titel: Re: View Darstellung Datumswerte
Beitrag von: Kadlec am 07.01.11 - 08:48:54
Tja wo Du jetzt fragst, stellt sich mir die gleiche Frage.

Boris