Hallo Ladys and Gentlemen,
wie schon angekündigt, ist hier mein nächstes Problem.
Aus einer Tabelle ,,Veraenderungen" habe ich – mit eurer Hilfe – folgende Abfrage erstellt, die wunderbar funktioniert:
Es ist gewährleistet, dass jeder ,,VerAE_Artikel" pro ,,AenderungsDatum" in dieser Abfrage nur einmal vorhanden ist.
VerAE_Artikel Summevon LfdSaldo PreisProTag Aenderungs
VerAE_BestandVeraenderung Datum
Art_Hü13 7 7 0,021 19.04.2016
Art_Hü13 5 12 0,036 09.05.2016
Art_Hü13 3 15 0,045 20.05.2016
Art_Hü13 2 17 0,051 29.06.2016
Art_Ka32 12 12 0,024 08.07.2016
Art_La12 4 4 0,008 08.05.2016
Art_La13 1 1 0,003 02.05.2016
Art_La13 4 5 0,015 08.05.2016
Art_La13 10 15 0,09 06.06.2016
Art_La33 7 7 0,021 08.07.2016
Art_Sn13 2 2 0,006 27.06.2016
Art_Sn13 -1 1 0,003 08.07.2016
Art_Sw12 3 3 0,006 03.05.2016
Art_Sw13 24 24 0,144 03.05.2016
Art_Sw13 5 29 0,174 29.06.2016
Art_Sw13 3 3 0,009 03.05.2016
Ich benötige jetzt, um die Anzahl der Tage zu berechnen, Ergebnisse in der Spalte ,,BisDatum"
D.h. ich benötige das AenderungsDatum der nachfolgenden Zeile pro Artikel, um berechnen zu können, wieviel Tage hat der Artikel in dieser Konstellation vorgelegen.
- Analog der händig eingegebenen Daten in der Spalte ,,BisDatum".
,,BegDatum" und ,,EndDatum" stellen den Abrechnungszeitraum dar, die via Formular in die Abfrage implementiert werden sollen.
VerAE_Artikel Summevon LfdSaldo PreisProTag Aenderungs BisDatum Beg End Anz
VerAE_BestandVeraenderung Datum Datum Datum Tage
Art_Hü13 7 7 0,021 19.04.2016 09.05.2016 01.05.2016 31.05.2016
Art_Hü13 5 12 0,036 09.05.2016 20.05.2016 01.05.2016 31.05.2016
Art_Hü13 3 15 0,045 20.05.2016 29.05.2016 01.05.2016 31.05.2016
Art_Hü13 2 17 0,051 29.06.2016 29.05.2016 01.05.2016 31.05.2016
Art_Ka32 12 12 0,024 08.07.2016 08.07.2016 01.05.2016 31.05.2016
Art_La12 4 4 0,008 08.05.2016 08.05.2016 01.05.2016 31.05.2016
Art_La13 1 1 0,003 02.05.2016 08.05.2016 01.05.2016 31.05.2016
Art_La13 4 5 0,015 08.05.2016 06.06.2016 01.05.2016 31.05.2016
Art_La13 10 15 0,09 06.06.2016 06.06.2016 01.05.2016 31.05.2016
Art_La33 7 7 0,021 08.07.2016 08.07.2016 01.05.2016 31.05.2016
Art_Sn13 2 2 0,006 27.06.2016 08.07.2016 01.05.2016 31.05.2016
Art_Sn13 -1 1 0,003 08.07.2016 08.07.2016 01.05.2016 31.05.2016
Art_Sw12 3 3 0,006 03.05.2016 03.05.2016 01.05.2016 31.05.2016
Art_Sw13 24 24 0,144 03.05.2016 29.06.2016 01.05.2016 31.05.2016
Art_Sw13 5 29 0,174 29.06.2016 03.05.2016 01.05.2016 31.05.2016
Art_Sw13 3 3 0,009 03.05.2016 03.05.2016 01.05.2016 31.05.2016
Wenn ich euch noch einmal um Hilfe bitten dürfte...
Wenn man solche Tabellen auch als Code darstellt, wird das gleich viel übersichtlicher. Dass es kein Code ist, spielt ja keine Rolle. Der Weg ist das Ziel. MzKlMu
Hallo,
die zusätzliche Felder bis auf AnzTage brauchst Du nicht in der Abfrage.
Die Grenzdatum werden dort als Kriterien übergeben, wo die Abfrage eingesetzt wird...
Select abf.*,
DateDiff("d",[Aenderungsdatum], (
Select top 1 T.Aenderungsdatum
From abf_DeineAbfrage as T Where
T.VerAE_Artikel = abf.VerAE_Artikel and
abf.Aenderungsdatum < T.Aenderungsdatum
Order by T.Aenderungsdatum
)
) AS AnzTage
From abf_DeineAbfrage as abf
Order by abf.VerAE_Artikel, abf.Aenderungsdatum
Hallo Franz,
ganz lieben Dank, dass du dich so schnell meinem Problem angenommen hast.
Nachdem mein Anfall von geistiger Umnachtung abgeklungen war, hat es wunderbar funktioniert.
Nochmals vielen Dank!