Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

komplizierte Abfrage / Bericht

Begonnen von Axel18, Juli 31, 2012, 14:52:43

⏪ vorheriges - nächstes ⏩

Axel18

Ich habe mal wieder eine knifflige Angelegenheit.

Für Statistiken habe ich mehrere Abfragen und Berichte erstellt, die funktionieren.

Ich kann also z.B. die Mengen eines bestimmten Kunden des (gesamten) Vorjahres und seine Mengen bis heute aufführen und prozentual vergleichen.

Ich kann in einem zweiten Bericht die Mengen des Kunden für den gleichen Zeitraum, den ich definieren kann, ausgeben.

Nun habe ich mir überlegt, dass es ganz praktisch wäre, hinter dem Kundennamen sowohl die Menge des gesamten Vorjahres, die Menge des Vorjahres im gleichen Zeitraum wie 2012 und die bisherigen Mengen 2012 nebeneinander auszugeben, ich weiß aber nicht, wie das klappen könnte.

Folgende Tabellen und Felder setze ich ein:

Tabelle:             Feldname:
Kunden             ksort
Statistik            MengeVorjahr
Statistik            MengeAktJahr
Rmon                rmon  (hier wird bei den Datensätzen der Liefermonat mit 01, 02, 03, usw. angegeben

In meinen bisherigen Abfragen / Berichten wird dann als Kriterium bei RMON gefragt: >=[von Monat: ] Und <=[bis Monat: ]

Mein Bericht soll dann so aussehen:

Kunde             Menge 2011          Menge 01-07/2011         Menge 01-07/2012

Geht das überhaupt mit den oben definierten Feldern?

Axel

Beste Grüße
Axel

ebs17

ZitatGeht das überhaupt mit den oben definierten Feldern?
Ich hätte keine Vorstellung, wie man aus einer MengeVorjahr Mengen von einzelnen Monaten ermittelt.

Eine vorstellbare Tabelle hätte die Felder KundeID, Menge, Lieferdatum zzgl. ID.
Daraus kann man die einzelnen Abfragen für gezielte Zeiträume erstellen und diese dann zusammenstellen, z.B.

' qryA (01-07/2011)
SELECT KundeID, Sum(Menge) AS MengeA
FROM Tabelle
WHERE Lieferdatum Between DateSerial(Year(Date())-1, 1, 1)
AND DateSerial(Year(Date())-1, 7, 31)
GROUP BY KundeID

' qryB (01-07/2012)
' nur Datumsfilter anders
WHERE Lieferdatum Between DateSerial(Year(Date()), 1, 1)
AND DateSerial(Year(Date()), 7, 31)

' qryC (Menge 2011)
' nur Datumsfilter anders
WHERE Lieferdatum Between DateSerial(Year(Date())-1, 1, 1)
AND DateSerial(Year(Date())-1, 12, 31)


Diese Teilabfragen kann man zusammenfassen:
SELECT KundeID, MengeA, MengeB, MengeC
FROM (qryA INNER JOIN qryB ON qryA.KundeID = qryB.KundeID)
INNER JOIN qryC ON qryA.KundeID = qryC.KundeID


MfGA
ebs
Mit freundlichem Glück Auf!

Eberhard