Rechnungen aus einem bestimmten Zeitraum zusammenziehen

Michael

Benutzer
Beiträge
5
Hallo Access Community,

vorweg möchte ich sagen, dass ich kein Profi bin und einfach auf die Community hoffe.

Problem Schilderung

Ich habe eine DB mit
1. ( Tabelle " Kunden ID " ) in dieser Tabelle sind alle Kontaktadressen vom Kunden vorhanden Lieferanten ID,....,...
2. ( Tabelle " Rechnungen " ) in dieser Tabelle sind Lieferanten ID, Rechnungsdatum, Rechnungsbetrag,

meine Vorbereitung

ich habe eine Abfrage erstellt mit
Firme Abfrage ( kommt aus Kunden ID) - Rechnungsbetrag ( kommt aus Rechnung ) und hat die Funktion Summe.
bis dahin alles OK
Die Rechnungen einer Firma werden zusammengezogen und es gibt keine doppelten Firmen.
Jetzt die Herausforderung

ich möchte dir Abfrage Zeitlich begrenzen vom >=#01.07.2023# Und <=#30.06.2024#
sobald ich dieses mit in die Abfrage abfließen lasse,
werden die Rechnungen der nicht mehr zusammengezogen.
Es gibt nur Einzelrechnungen

Ich hoffe das Ihr mir weiterhelfen könnt wie ich dieses Problem lösen kann.
 
Werbung:
ich möchte dir Abfrage Zeitlich begrenzen
Das machst Du über die WHERE Clause.
z.B.
Code:
where rechnungsdatum between #01.07.2023# and #30.06.2024#
(wie du die Datumsgrenzen in Access angibst, also mit welcher Funktion Du das Stringdatum nach Date wandelst, weiß ich grad nicht auswendig.
sobald ich dieses mit in die Abfrage abfließen lasse,
werden die Rechnungen der nicht mehr zusammengezogen.
Das deutet auf einen Fehler hin, den man aber ohne Deine Umsetzung zu kennen, nur raten kann.

Poste einfach Deine Abfrage. Bitte als Text, nicht als Bild.
 
Hallo zusammen und danke an die rege Teilnahme,

Die abfrage sollte heißen
Rechne die Summen vom Rechnungsbetrag ( Währung ) der Firma ( Tabelle Kunden ID / Kurzer Text ) zwischen dem Datum >=#01.07.2023# Und <=#30.06.2024# ( kommt aus der Tabelle Rechnung / Rechnungsdatum ( Format ( Datum mittel))

das Problem entsteht immer wenn ich das Datum mit in die Abfrage mit einfließen lasse.
Danach zieht die Abfrage nicht mehr die Summe zusammen
hier hatte ich auch schon versucht die Abfrage des Datum an einer anderen stelle zu setzen ( ohne Erfolg)

SELECT Sum(Rechnungen.Rechnungsbetrag) AS SummevonRechnungsbetrag, [Kunden ID].Firma, Rechnungen.Rechnungsdatum
FROM [Kunden ID] INNER JOIN Rechnungen ON [Kunden ID].[Lieferanten ID] = Rechnungen.[Lieferanten ID]
GROUP BY [Kunden ID].Firma, Rechnungen.Rechnungsdatum
HAVING (((Rechnungen.Rechnungsdatum)>=#7/1/2023# And (Rechnungen.Rechnungsdatum)<=#6/30/2024#))
ORDER BY [Kunden ID].Firma DESC;

es muss doch eine Möglichkeit geben,
wieviel ich für die einzelnen Kunden, in einem bestimmten Zeitraum, für die einzelne Kunden bezahl habe.

( Gesamtsumme, für die einzelnen Kunden, in eine bestimmten Zeitraum )

vorab ein danke für eure Mühe
 
Das Rechnungsdatum kann auch bleiben, wo es ist. Nur dein HAVING müsste ein WHERE sein.

Bei der Syntax mit # bin ich irritiert, keine Ahnung ob das richtig ist. Vermutlich kannst du auch noch mit BETWEEN arbeiten:
Code:
WHERE Rechnungen.Rechnungsdatum BETWEEN #7/1/2023# AND #6/30/2024#
 
Grundlagen, so simpel ...
@akretschmer
Was versprichst Du Dir von solchen Aussagen?

Wenn ein TO bereits mit der Aussage beginnt, dass er kein Profi ist, bringt Dein Spruch irgendjemand weiter?
Die Feststellung, dass es sich um Grundlagen handelt, ist legitim und wahrscheinlich sogar hilfreich für den TE, um die Sache einzuordnen.
Dass es "so simpel" ist, ist eine total überflüssige und subjektive Bewertung.
 
Hallo zusammen,
ich möchte mich für die rege Anteilnahme sehr bedanken.
Wie bereits von dabadepdu erkannt, habe ich leider NOCH keine Vorkenntnisse in SQL ( werde ich aber noch nachholen)

Ich hatte versucht das Problem so gut und so verständlich wie möglich zu lokalisieren.
dafür hatte ich die DB soweit runtergebrochen, dass nur noch das Grundsätzliche abgefragt wird.

den SQL Code habe ich nur mit pace und copy erstellt,
in der Hoffnung, dass man mir dieses in Abgewandter kann.

Dieses sollte keine Faulheit meinerseits sein.
sondern nur ein Gehstock an den ich mich halten kann.
Durch die Änderung im SQL code, kann ich dann Natürlich genau nach den richtigen Fehlern suchen, beheben und verstehen.
( sonst ist das immer nach dem Prinzip " mit der Stange im Nebelstochern")

Mein Prinzip ist nicht pace und copy, sondern verstehen was ich mache.

Nur manchmal sieht man vor lauter Bäumen den Wald nicht mehr.

Ich hoffe nicht, dass diese Worte jetzt falsch aufgenommen werden und baue immer noch auf dem Príncipe der Community.
Gerne nehme ich auch Vorschläge entgegen, mit welcher Literatur man anfangen sollte.
Jedoch habe ich erstmal eine Aufgabe die ich zu lösen habe.
 
hier nochmals die Abfrage

wieviel Geld muss ich in einem bestimmten Zeitraum bezahlen

1. ( Die Firma sollte nur einmal in der Liste auftauchen )

Sollzustand
im Zeitraum von 01.01.2023 bis 31.12.2023
hatte ich
an die Firma Meier 12.000€ gezahlt ( 12.000€ ist die Zusammenfassung von drei Rechnung in diesem Zeitraum)
( diese drei Rechnung sind der Stolperstein ( sie werde einzeln aufgelistet und dadurch keine Jahressumme)
an die Firma Huber 9.500€ gezahlt ( 9.500€ ist die Zusammenfassung von 7 Rechnung in diesem Zeitraum )
,.........

Istzustand

im Zeitraum von 01.01.2023 bis 31.12.2023

hatte ich
am 02.02.2023 an die Firma Meier 6.000€ gezahlt ( 6.000€ ist die Zusammenfassung von zwei Rechnungen am 02.02.2023)

am 06.02.2023 an die Firma Huber 3.500€ gezahlt ( 3.500€ ist die Zusammenfassung von zwei Rechnungen am 06.02.2023)
am 08.02.2023 an die Firma Meier 6.000€ gezahlt ( 6.000€ ist eine Einzelrechnung am 08.02.2023)

am 02.08.2023 an die Firma Huber 3.500€ gezahlt ( 3.500€ ist die Zusammenfassung von vier Rechnungen am 02.08.2023)
,......
 
#5
Code:
SELECT Sum(Rechnungen.Rechnungsbetrag) AS SummevonRechnungsbetrag, [Kunden ID].Firma
FROM [Kunden ID] INNER JOIN Rechnungen ON [Kunden ID].[Lieferanten ID] = Rechnungen.[Lieferanten ID]
WHERE Rechnungen.Rechnungsdatum>=#7/1/2023# And Rechnungen.Rechnungsdatum<=#6/30/2024#
GROUP BY [Kunden ID].Firma
ORDER BY [Kunden ID].Firma DESC;
 
Werbung:
Hallo zusammen,
ein großes danke an die Community,

Nach dem Tweet von ukulele hat es geklappt.
Nun kommt für mich die Aufarbeitung und das Verstehen.

Nochmal ein Dankeschön
 
Zurück
Oben