Summe Haben für laufendes Jahr
Hallo,
ich hab in meiner DB die Tabelle Buchungen in der alle Buchungen aller Konten eingepflegt werden und halt auch eine Tabelle Konten wo ich mir den aktuellen Kontostand anzeigen lasse, bis hier alles gut.
Jetzt würd ich gern noch in der Tabelle Konten 2 Spalten nach pflegen "Umsatz Vorjahr" und "Umsatz laufends Jahr" und hier komme ich nicht weiter.
Versucht hatte ich es fürs laufende Jahr mal hiermit, bekam aber nur die Message das in Zeile 1 Spalte 34 ein Komma fehlt ...
sum(select Buchungen.Haben where year(Buchungen.Buchungsdatum) = 2020)
Am schönsten wäre wenn ich das nicht jedes Jahr ändern müsste, sprich anstelle eine Jahreszahl sowas wie thisYear wenn möglich.
Danke
10 Antworten
-
Hallo, ich hab's nicht getestet, aber so könnte es gehen:
Für das aktuelle Jahr:select (Buchungen.Haben)[year(Buchungen.Buchungsdatum) = year(today())]
Für das Vorjahr:
select (Buchungen.Haben)[year(Buchungen.Buchungsdatum) = year(today()-1)] -
Oh, natürlich davor noch "sum"
-
Hallo,
danke für den schnellen tipp aber leider bekomme ich da nur fehler wieder, es scheint irgendeine kleinigkeit noch zu fehlen
sum(select (Buchungen.Haben)[year(Buchungen.Buchungsdatum) = year(today())]) **Fehler, ID erwartet in Spalte 12**
-
Moin, versuch's mal so:
sum((select Buchungen where year(Buchungsdatum) = year(now())).Haben)
-
Perfekt, Danke.
nur zur Vollständigkeit fürs Vorjahr gehts auch
sum((select Buchungen where year(Buchungsdatum) = year(now()) - 1).Haben)
-
Genau. Ich war mir sicher, dass du das mit dem Vorjahr selbst hinbekommst. ;)
-
Huhu
leider gibts noch ein kleines Problem das ich nicht lösen kann
sum((select Buchungen where year(Buchungsdatum) = year(now())).Haben and Buchungen.Konten = Kontonummer)
der erste Teil bis zum and funktioiert gut allerdings wir bei jedem Konto der gesamtumsatz angezeigt, das wollte ich für jedes Konto separat aber leider klappt das nich so wie ich es mir gedacht hab, vermutlich weil das "Buchungen.Kontonummer" ein Auswahlfeld ist 'grml'
-
Das kann möglicherweise daran liegen, das du 2 unterschiedliche Werte miteinander vergleichst.
Hast du mal geprüft, ob das Feld/Variable Kontonummer einen Wert hat, der sich auch mit Buchungen.Kontonummer vergleichen lässt?
Zum einen sollten beide entweder das Format text oder number haben und zum anderen sollte das Ergebnis des Auswahlfeldes auch eine Kontonummer ergeben und nicht die ID des Auswahlfeldes.
Vielleicht auch Kontonummer vor der Abfrage als Variable definieren: vKontonummer und dann in der Abfrage verwenden. Vorab prüfen, ob der Inhalt der Variablen tatsächlich eine Kontonummer ist. -
Ich würde die Formel anders schreiben:
---
let me:=this;
sum(select Buchungen [year(Buchungsdatum) = year(now())) and Konten = me.Kontonummer].Haben)
---
Leo
-
Hallo,
erstmal Dank an alle, habs jetz gelöst mit dem Ansatz von Leo, allerdings habe ich vorher noch ein Funktionsdeld unter buchungen erstellt welches die Kontonummer wiedergibt und dieses ausgeblendet.
Die Formel wäre dann
**
let me := this;
sum((select Buchungen)[year(Buchungsdatum) = year(now()) and 'Kto.Nr.' = me.Kontonummer].Haben)**
Content aside
- vor 3 JahrenZuletzt aktiv
- 10Antworten
- 616Ansichten