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]