Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Frank77 am Januar 17, 2016, 23:22:52

Titel: Datum errechnen mit Tonus
Beitrag von: Frank77 am Januar 17, 2016, 23:22:52
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
Titel: Re: Datum errechnen mit Tonus
Beitrag von: DF6GL am Januar 18, 2016, 08:35:57
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.
Titel: Re: Datum errechnen mit Tonus
Beitrag von: ebs17 am Januar 18, 2016, 09:11:09
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)