Dezember 05, 2021, 05:34:23

Neuigkeiten:

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


Summe von Datensatz zu Datensastz

Begonnen von ostill, Oktober 18, 2021, 21:47:55

⏪ vorheriges - nächstes ⏩

ostill

Grüsse an alle,

habe einen Bericht der startet mit z.B. dem Wert 7 -
nun habe ich z.b. fünf Datensätze aus einer Abfrage die in disem Bericht / Detailbereich eingefügt werden
Screenshot anbei
nun möchte ich, daß der Startwert 7 +- den Wert aus Datensatz 1 berechnet wird,
das Ergebnis aus Datensatz 1 +- den Wert aus Datensatz 2 berechnet wird.
Bei mir kommt aber nur der Sartwert 7 +- der Wert des jeweiliges DS raus - also fehlt mir ein schritt....
aber welcher .....

Über Hilfe würde ich mich freuen

Grüsse Oliver

MzKlMu

Hallo,
mir ist nicht ganz klar was Du berechnen willst.
Wie berechnest Du jetzt ?
Du hast auch 2 Spalten, geliefert und zurück, wie wird da gerechnet ?
Wo kommt die 7 (Startwert) her, der muss ja auch irgendwo eingetragen werden.
Zeige mal wie die Ausgabe aussehen soll (mit einer kleinen Exceltabelle z.B.)
Und bitte mal genauer erklären.
Gruß
Klaus

ostill

Hallo MzKIMu,

ich habe das alles in eine kleine Excel geschrieben & hoffe, dass es so leichter verständlich ist.
Im Prinzip wie folgt :

Startwert ( kommt aus einer Tabelle ) Kunde a hat zum Stichtag b den Startsaldo z.b. 7
Nun über eine Abfrgae Kunde a hat von Tag a bis Tag c z.B. 5 Bewegungen
Nun würde ich gerne nachfolgend immer den Saldo nach jeder Bewegung darstellen

Grüsse

MzKlMu

Oktober 19, 2021, 11:39:50 #3 Letzte Bearbeitung: Oktober 19, 2021, 14:31:15 von MzKlMu
Hallo
Ich habe es immer noch nicht verstanden.
Zeige die Tabelle wie sie sein soll !
Man müsste auch noch wissen, wie die Abfrage für die Zahlen gefiltert werden.
Gruß
Klaus

PhilS

Zitat von: ostill am Oktober 19, 2021, 10:12:35Nun würde ich gerne nachfolgend immer den Saldo nach jeder Bewegung darstellen
Das hört sich für mich an wie eine Laufende Summe.
Schau dir mal FAQ 3.11 Laufende Nummer/Summe in Abfragen an. Wenn ich richtig liege, könnte das deine Frage beantworten.
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

MzKlMu

Oktober 19, 2021, 14:20:18 #5 Letzte Bearbeitung: Oktober 19, 2021, 14:28:49 von MzKlMu
Hallo,
an laufende Summe habe ich auch schon gedacht, zumal das in einem Bericht (wo er es will) sehr einfach ist,
Allerdings komme ich mit dem Excelbeispiel in #2 nicht klar.
Da ist eine laufende Summe gezeigt, aber nach der Aussage in dem Excelblatt will er das ja nicht.
Außerdem sind die Zahlen für den Saldo in 2 Spalten was auch erst mal bereinigt werden müsste.
Gruß
Klaus

DF6GL

Hallo,




Vorschlag:

Füge in die Tabelle die Felder "Buchdatum" (Datum/Uhrzeit) und "Startwert" (Long) ein.



(Bild 1)
Im Datensatz mit einem "ältestem" Datum" kommt unter Startwert 7 (oder ein anderer Startwert) zu stehen.


Erstelle eine Abfrage entspr.:

SELECT Tabelle1.BuchDat, AnzahlAngeliefert, AnzahlZurück, calcSaldo([AnzahlAngeliefert],[AnzahlZurück],[Startwert]) AS Saldo
FROM Tabelle1
ORDER BY BuchDat


Erstelle in einem allgemeinen Modul folgende Prozedur:

Option Compare Database
Option Explicit

Public Saldo As Long

Public Function CalcSaldo(AA As Long, AZ As Long, SW As Long) As Long

    If Saldo = -999999 Then Saldo = SW
   
    Saldo = AA - AZ + Saldo
   
    CalcSaldo = Saldo

End Function



Vor jeder Ausführung der Abfrage muss mit

saldo =-999999
die Public-Variable "Saldo" gesetzt werden.




Ergebnis in Bild 2

ostill

Grüsse,

zunächst Danke für euer Engament.

Ich versuch es nochmal so darzustellen

Ich habe einen Wert zum 01.09.2021 mit dem Wert 7 ( dieser Wert kommt aus Tabelle A )

nun habe ich z.B. vom 01.09.2021 bis zum 15.09.2021 fünf Bewegungen / Datensätze

                     Zugang     Abgang       Saldo

Sartsaldo/Anfangsbestand                       7

Bsp. 02.09.2021        4           2           9 (ergibt sich aus Startwert 7 + Zugang - Abgang)
     04.09.2021        4           0          13 (ergibt sich aus Saldo 9 von Bsp. 02.09. DS davor + Zugang)
     06.09.2021        0          10           3 (ergibt sich aus Saldo 13 von Bsp. 04.09.DS davor - Abgang)

usw.

Dann zum Schluss ein Feld Endsaldo mit dem letzen Saldowert des Berichts. Hier die 3.

Ich hoffe nun habe ich es so erklärt, dass alle Wissen was ich meinen :-)

Grüsse

       

MzKlMu

Oktober 19, 2021, 23:33:56 #8 Letzte Bearbeitung: Oktober 20, 2021, 09:03:48 von MzKlMu
Hallo,
das geht so nicht so einfach. Für eine Datenbank ist der Aufbau falsch. Der Anfangswert muss auch in Tabelle B, der darf nicht aus Tabelle A kommen.
Dann lässt im Bericht ganz einfach die Funktion "Laufende Summe" verwenden.

Wenn man es Datenbankkonfom machen würde, käme die Menge in ein Feld mit einem Kennzeichen ob Zugang oder Abgang.
Jeder Vorgang wäre dann ein Datensatz. Zugänge wären positiv und Abgänge negative Mengen.
Dann ist der Saldo einfach die Summe der Mengen. Der Saldo lässt sich dann ganz einfach zu jedem beliebigen Zeitpunkt ermitteln.

Wenn Du bei Deinem jetzigen Aufbau bleiben willst, musst Du per Abfrage eine Spalte berechnen.
Z.B. so:
MengeSaldo: [Zugang]-[Abgang]
Diese Spalte kannst Du dann im Bericht für eine laufende Summe verwenden.
Der Anfangsbestand muss aber als 1. Datensatz in die Tabelle B.

Im Anhang findest Du ein einfaches Beispiel.
Das Beispiel beinhalten 2 Arten.

Beispiel1 (...1) ist auf Deine Art, Beispiel2 (...2) ist die übliche Art für eine Datenbank, jede Buchung ein Datensatz. Das Vorzeichen (-) für Abgänge lässt sich automatisieren. Für die Vorgangsarten (jetzt Bemerkungen) würde man dazu eine extra Tabelle anlegen.
Gruß
Klaus

ostill

Ich bedanke mich recht herzlich für eure Hilfe - habe es nun hinbekommen -
und zwar habe ich in die Abfrage die die Datensätze zieht ein Feld Mengensaldo eingefügt,
um den Saldo per Datensatz zu errechnen. Bin dann allerdings einen Zwischenschritt gegangen
und habe in den Bericht ein Feld =[STARTSALDO]-[Mengensaldo]eingefügt und nun funktioniert es wie gehabt.

Habe euch die Bilder der BErichts und des Entwurfs mal beigefügt :-)

Nun mache ich mich auf die Suche, wie ich das letze Feld quasi den Endsaldo auf das Hauptformular übertragen kann :-)

Grüsse

Oli