PDA

Vollständige Version anzeigen : Auswertung für die letzten dreizehn Monate


Red
23.03.2004, 09:37
Hallo zusammen

Ich möchte beim Öffnen von meinem Hauptform zwei Textfelder automatisch füllen lassen.

[edat] = letzter Tag des vergangenen Monats
[adat] = erster Tag des vergangenen Monats minus 1 Jahr

Das Ziel dieser Informationen ist, dass ich eine Auswertung machen kann. Dabei will ich die letzten dreizehn Monate automatisch vorgeben.

Bei dieser Datumsberechnung sollen natürlich auch die Schaltjahre berücksichtigt werden. Darum kann ich nicht [edat]-365Tage rechnen.

Danke euch
Gruss Ruedi

stpimi
23.03.2004, 10:01
Sieh mal in der FAQ 2.8 nach (Link in meiner Fusszeile) - das läßt sich entsprechend adaptieren.

Edit:

Allgemein läßt sich Dateadd und Dateserial dafür verwenden:

edat = dateserial(year(date);month(date)-1;0)
adat = dateadd ("yyyy",-1,Edat)

Mfg, Michael

TommyK
23.03.2004, 10:01
Hallo,

zum Berechnen des letzen Tages:

Function tk_lastDayPrevMonth() As Date
tk_lastDayPrevMonth = DateSerial(Year(Date), Month(Date), 0)
End Function

[edat] = tk_lastDayPrevMonth()

zum Berechnen des ersten Tages des vergangenen Monats minus 1 Jahr:

Function tk_lastDayPrevMonthYear() As Date
tk_lastDayPrevMonthYear = DateSerial(Year(Date) - 1, Month(Date) - 1, 1)
End Function

[adat] = tk_lastDayPrevMonthYear()

Zum Abfragen von Zeiträumen gibt es im Code-Archiv nochen eine Bsp-DB zu diesem Thema:
http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=118989

Red
23.03.2004, 10:15
Hallo ihr beiden

Danke für die rasche Antwort.

@Michael
Ich habe den Beitrag vorher schon gelesen, bin daraus aber nicht ganz schlau geworden.

Ich habe mir die Funktion zurecht gebogen. Nur stimmt das auch?

erster Tag = Datum()-Tag(Datum())+1

aus dieser Funktion habe ich folgendes für den letzten Tag gemacht:

letzter Tag = Date - Day(Date)


@TommyK
Ich habe deine beiden Funktionen getestet, alles bestens.

Danke euch nochmals

Gruss Ruedi