PDA

Vollständige Version anzeigen : jeweils letztes Datum pro Monat


clear
04.10.2002, 11:32
Hallo,

ich habe folgendes Problem:

In einer Tabelle werden in unterschiedlichen Abständen Messwerte gespeichert.
Datum ______Ort______M_Wert
20.07.2002__Abtenau__25
27.07.2002__Abtenau__38
30.07.2002__Abtenau__41 <-
04.08.2002__Abtenau__56
18.08.2002__Abtenau__56 <-
05.03.2002__Tulbing__14
24.03.2002__Tulbing__104 <-
02.04.2002__Tulbing__121
15.04.2002__Tulbing__134 <-
usw.

Ich benötige nun eine Abfrage, die mir jeweils den letzten M_Wert eines Ortes pro Monat ausgibt.
Hab' die Zeilen im o.a. Beispiel mit <- markiert, welche im Ergebnis sein sollten.

Kann mir bitte jemand helfen?

Herzlichen Dank im Voraus

Kaleu
04.10.2002, 12:00
max von datum ;) )

Lanz Rudolf
04.10.2002, 12:30
Hallo
ev. Hilft das:
ErsterTag im Jahr: DateSerial(Format(Jetzt();"jjjj");1;1) DateSerial(Format(Now(), "yyyy"), 1, 1)
LetzterTag im Jahr: DateSerial(Format(Jetzt();"jjjj");12;31) DateSerial(Format(Now(), "yyyy"), 12,31)
Erster Tag im Monat: DatSeriell(Jahr(Jetzt());Monat(Jetzt());1) DateSerial(Year(Now()), Month(Now()), 1)
Letzter Tag im Monat: DatSeriell(Jahr(Jetzt());Monat(Jetzt())-1;1) DateSerial(Year(Now()), Month(Now()) + 1, 1) - 1
Erst.Tag im Näch.Monat: DatSeriell(Jahr(Jetzt());Monat(Jetzt())+1;1) DateSerial(Year(Now()), Month(Now()) + 1, 1)
Letz.Tag im Näch.Monat: DatSeriell(Jahr(Jetzt());Monat(Jetzt())+2;0) DateSerial(Year(Now()), Month(Now()) + 2, 0)
Erster Tag im Vor Monat: DatSeriell(Jahr(Jetzt());Monat(Jetzt())-1;1) DateSerial(Year(Now()), Month(Now()) - 1, 1)
Letzter Tag im Vor Monat: DatSeriell(Jahr(Jetzt());Monat(Jetzt());0) DateSerial(Year(Now()), Month(Now()), 0)
Erster Tag der Woche: Format(Jetzt()-Wochentag(Jetzt();0)+1;"tt\.mm\.jjjj")
Letzter Tag der Woche: Format(Jetzt()-Wochentag(Jetzt();0)+7;"tt\.mm\.jjjj")


Sory habe Nur den Titel gelesen Total Falsche Antwort :mad: :holy:

[ 04. Oktober 2002: Beitrag editiert von: Lanz Rudolf ]</p>

MarioR
04.10.2002, 12:54
Hallo,

die Abfrage sollte das gewünschte Ergebnis bringen:
SELECT Datum, Ort, M_Wert
FROM DeineTabelle
WHERE Datum IN
(SELECT Max(Datum)
FROM DeineTabelle As tblTemp
WHERE tblTemp.Ort=DeineTabelle.Ort
And Format(tblTemp.Datum,"mmyyyy")=Format(DeineTabelle.Datum,"mmyyyy"))

clear
04.10.2002, 14:09
Herzlichen Dank!
Mit der kleinen Testtabelle funktionierts super.
Aber ich denke, dass es auch mit den 46000 Datensätzen klappen wird.
Jedenfalls muss ich noch viel lernen, was SQL betrifft.