Hallo Robert,

Deine Ausführungen sind ein hilfreicher zweiter Schritt.... Meine aktuelle Hürde besteht aber noch darin, daß ich zwar Abfragen mit Berechnungen erstellen kann, indem ich in "Feld" eine Formel eintrage (z.B. "Anzahl" * "Stückpreis", um einen Endbetrag zu berechnen), mit meinem definierten Feld "GebDat" habe ich aber nur den einen Wert und weiter keine Ahnung, wie ich das aktuelle Datum für diese Abfrage definieren kann. CURRENT_DATE oder CURDATE (beide mit und ohne eckige Klammern)haben mir in der Abfrage auch nicht geholfen. Irgendeinen "Platzhalter" muß es doch für Berechnungen mit dem aktuellen Datum auch (besser: ganz besonders) in Abfragen geben. Leider konnte ich bislang nichts finden....

Jürgen

---------------

Am 21.12.2010 21:02, schrieb Robert Großkopf:
Hallo Jürgen,

gibt es eigentlich auch eine Möglichkeit, in Base, z.B. mit einer
Abfrage eine Altersberechnung durchzuführen?
Das Geburtsdatum ist ja in vielen Tabellen vorhanden, fehlt mir zum
Rechnen nur eine Möglichkeit - analog zu Calc - das jeweils aktuelle
Datum zu nutzen. "JETZT" oder "HEUTE" scheint Base aber in der Abfrage
nicht zu kennen....

Ist wegen der Umschreibungen zum Jahr etwas kompliziert. Die
zugrundeliegende HSQLDB beschreibt das hier:
http://hsqldb.org/doc/guide/ch09.html

Da das Alter aufgrund des Jahres ermittelt wird muss die Differenz
zwischen dem Jahr jetzt und dem Jahr des angegebenen Datums erfolgen.
Allerdings werden damit alle Personen, die in dem aktuellen jahr noch
keinen Geburtstag hatten, ein Jahr älter angegeben. Die folgende
Funktion fragt deshalb erst einmal, ob der Tag im Jahr vom "GebDat"
(mein Geburtsdatumsfeld) größer ist als der Tag im Jahr von dem
momentanen Datum. Unter den Umständen wird einfach von dem ermittelten
Alter ein Jahr abgezogen. Ansonsten wird das Alter einfach durch die
Jahresdifferenz angegeben.

CASEWHEN( DAYOFYEAR( "GebDat" )>  DAYOFYEAR( NOW( ) ), DATEDIFF( 'yy',
"GebDat", NOW( ) ) - 1, DATEDIFF( 'yy', "GebDat", NOW( ) ) ) AS "Alter"

Gruß

Robert



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an