Das Notes Forum
Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: lusik am 19.12.17 - 17:05:10
-
Hallo
Ich habe eine kleine Tabelle mit MwSt-Sätzen.
| 1. Spalte | 2. Spalte |
| 1.1.1995 | 6.5% |
| 1.1.1996 | 6.5% |
| 1.1.1999 | 7.5% |
| 1.1.2001 | 7.6% |
| 1.1.2011 | 8.0% |
| 1.1.2018 | 7.7% |
Gibt es in Notes eine Möglichkeit mit @dblookup die Tabelle zu durchsuchen und den Wert auszulesen, ohne das exakte Suchdatum zu verwenden? Beispiel: Mit der Suche nach dem 19.12.2017 müssten mir dann die Werte aus Zeile mit Datum 1.1.2011 ausgegeben werden. (analog sverweis() in Excel)
Danke für jeden Hinweis.
Gruss lusik
-
@dblookup geht immer auf den Wert, der übergeben wird. Daher wird das so nicht funktionieren, wie du es dir vorstellst.
Mit script ließe sich was machen, aber mit @formula ...
-
Du könntest mit zwei @DBColumns die beiden Spalten als Liste auslesen und dann mit einer @Do-Schleife durch die erste Liste gehen, bis das Datum passt und dann den entsprechenden Wert aus der zweiten Liste nehmen.
-
der Gedanke kam mir auch, aber ich hoffte auf eine einfachere Lösung ;-) aber herzlichen Dank!
Gruss lusik
-
Mit den 2 @DBcolumn kannst du 2 felder füllen, MwStDatum und MwStSaetze.
Dann kannst du dir das berechnen z.B. mit folgenden @Formel.
EL := @Elements(MwStDatum);
@If( Datum <= MwStDatum[1] ; @Do( @SetField( "Wert" ; MwStSaetze[1] ) ; @Return("") ); "");
@If( Datum >= MwStDatum[EL] ; @Do( @SetField( "Wert" ; MwStSaetze[EL] ) ; @Return("") ); "");
Res := -1;
@For(i := 1; i <= EL; i := i + 1; @If ( MwStDatum <= Datum ; @If (MwStDatum[i+1] > Datum ; Res := i ; "") ; "" ) );
@If ( Res = -1 ; @Return(""); "" );
@SetField( "Wert" ; MwStSaetze[Res] );
@Command([ViewRefreshFields])
-
ganz herzlichen Dank! Das hilft weiter!
Gruss lusik