Hallo!
ich habe eine Frage zu Berechnungen in abfragen
Feld 1 Jahreszahl (Zahl) /Max des letzten angelegten wertes aus einer anderen abfrage
Feld 2 Tonus (Zahl) /Gibt die wiederkehren in Jahren an 0, 1, 2, 3, 4, 5, ......
Ergebnis: Nächst möglichem Jahr = Feld 1 + Feld 2
Wenn Feld 1 = 2012 und Feld 2 = 1 ist das Ergebnis = 2013
Da wir aber 2016 haben und der Tonus 1 ist soll das Ergebnis 2017 sein
Das wäre ja einfach Ergebnis: Jahr(Datum()) + Feld 2
Wenn Feld 1 = 2012 und Feld 2 = 3 Sollte das Ergebnis 2018 sein
Wenn(Feld1< Jahr(Datum()); Feld1 Solange plus Feld2 bis > Jahr(Datum());"Kein Wert")
Geht das in einer abfrage oder muss ich eine Funktion erstellen und den Wert so erzeugen
Gruß Frank
Hallo,
ohne den "Algorithmus" jetzt verstanden zu haben:
Wenn komplizierte Bedingungen zur Berechnung nötig sind oder der Ausdruck (Formel) aufwändiger (mehr als die Grundrechnungsarten) wird, ist eine externe Funktion vermutlich besser angebracht, weil diese übersichtlicher, flexibler und besser zu testen ist.
TONUS hat irgendetwas mit Turnus zu tun?
Dann etwa:
SELECT
X.Jahr,
X.Turnus,
X.Jahr + T.I * X.Turnus
FROM
TabelleX AS X,
T999 AS T
WHERE
T.I BETWEEN 0 AND (Year(Date()) - X.Jahr) \ X.Turnus + 1
T999 siehe Grundlagen - SQL ist leicht (1) - Hilfstabellen (http://www.ms-office-forum.net/forum/showthread.php?t=298414)