Hallo
Es geht um folgendes. Ich habe ein Formular erstellt mit einem Textfeld JAHR. Jetzt soll, wenn man das Jahr angibt z.b 2016 und danach auf den Button "Bericht öffnen" drückt, alle Umsätze von 2016 inklusive zwei jahre zurück also 2014 und 2015 angezeigt werden. Wie mache ich das kann mir jemand helfen?
Moin,
die Lösung ist in der faq beschrieben -> http://www.donkarl.com?FAQ5.9
Jahr als Bezeichner könnte für Ärger sorgen, besser umbenennen.
Zitat von: el_gomero am Februar 24, 2016, 10:40:20
Moin,
die Lösung ist in der faq beschrieben -> http://www.donkarl.com?FAQ5.9
Jahr als Bezeichner könnte für Ärger sorgen, besser umbenennen.
Ich Danke dir erstmal für deine Antwort, da ich noch Anfänger in Sachen Access bin, komme ich damit Leider nicht klar.
wo genau klemmt's denn? Was konntest du verwenden?
Kunde Jahreszahl z.B. 2013 Jahreszahl 2014 Jahreszahl 2015
1 Umsatz Umsatz Umsatz
2 Umsatz Umsatz Umsatz
3 Umsatz Umsatz Umsatz
...
Also so soll mein Bericht am Ende ungefähr aussehen. Das Rote soll in einem Formular eingegeben werden und am Ende soll mein bericht dementsprechend zwei Jahre zurück angezeigt werden.
ich habe es zur Zeit ohne Formular, also durch eine statische Abfrage mit dem Bericht verbunden. Es soll jedoch dynamisch mit einer Eingabe passieren. Meine jetzige Abfrage sieht so aus
SELECT tbl.Kunde AS Kunden,
SUM(IIF(tbl.Periode BETWEEN 2013001 AND 2013012, tbl.Umsatz, 0)) AS 2013,
SUM(IIF(tbl.Periode BETWEEN 2014001 AND 2014012, tbl.Umsatz, 0)) AS 2014
FROM tbl
WHERE tbl.Periode BETWEEN 2013001 AND 2014012
GROUP BY tbl.Kunde;
Habe ein Formularbild angehängt wie das Aussieht. Vielleicht weisst du dann besser wie ich das meine. DANKE
wenn du meine Fragen nicht beantwortest, kommen wir wohl nicht weiter ...
Zitat von: el_gomero am Februar 24, 2016, 11:10:44
wo genau klemmt's denn? Was konntest du verwenden?
Ja ich komme mit den FAQ nicht zu meiner gewünschten Lösung, sitze jetzt solange dran, bekomme es einfach nicht hin. Bin am verzweifeln!
kannst du mal eine Demoversion hochladen? Daten bis auf ein paar anonymisierte raus, komprimieren und zippen ...
Zitat von: el_gomero am Februar 24, 2016, 11:35:19
kannst du mal eine Demoversion hochladen? Daten bis auf ein paar anonymisierte raus, komprimieren und zippen ...
Das kann ich Leider nicht, welche Infos brauchst du denn? Kann ich es dir nicht so beantworten?
Zitat
Kann ich es dir nicht so beantworten?
Du willst ja offensichtlich nicht. Ich hab dich danach gefragt, was du an dem Code von Karl Donaubauer nicht verstehst oder nicht umsetzen kannst, bzw was du verwenden konntest ...
Zitat von: el_gomero am Februar 24, 2016, 11:44:17
Du willst ja offensichtlich nicht. Ich hab dich danach gefragt, was du an dem Code von Karl Donaubauer nicht verstehst oder nicht umsetzen kannst, bzw was du verwenden konntest ...
Nochmal die SQL Abfrage, die ich geschickt habe funktioniert!!! Aber ich möchte es wie da oben beschrieben haben. Naja wie es Aussieht kann mir keiner weiterhelfen. Ich danke dir aber trotzdem das du deine Zeit geopfert hast.
Hallo,
hier wäre eine Kreuztabellenabfrage die bessere Wahl.
Hatte ich Dir in Deinem anderen Thema
http://www.access-o-mania.de/forum/index.php?topic=21095.msg119480;topicseen#new
in #3 schon geschrieben.
Mit einer Abfrage die das Jahr darstellt (aus dem Datum) kannst Du direkt die gewünschten Jahre darstellen. BETWEEN wird dann nicht mehr benötigt.
Hallo,
mach es dir einfach und nimm eine Kreuztabellenabfrage.
Welchen Datentyp hat das Feld "Periode"? Ist es ein Text, so könnte die Datenauswahl folgendermaßen klappen:
SELECT tbl.Kunde AS Kunden, tbl.Umsatz, Left(tbl.Periode, 4) As Jahre
FROM tbl
WHERE Left(tbl.Periode, 4) BETWEEN Forms!formname!feldname -2 AND Forms!formname!feldname;
DAnke hat geklappt