Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Saldoberechnung





Frage

High Leute Habe das Problem das ich ein Saldo pro Datensatz errechnen lassen will, wie bei einem Kassenbuch, so das die Abfrage b.z.w. das Formular den aktuellen Saldo pro Zeile anzeigt. Access müsste also den Saldo aus dem vorherigen Datensatz mit den Einnahmen und Ausgaben des aktuellen Datensatzes addiereb oder subtrahieren. Kann mir jamand sagen wie ich das hinkriege.

Antwort 1 von piano

Hi
Die Aufgabe lässt sich für neue Sätze relativ einfach lösen. Ein Problem ist das Nachziehen der Saldowerte, wenn ein älterer Datensatz geändert oder gelöscht wird. Das müsste man unterbinden und durch Gegenbuchungen lösen. Dann könnte folgender Lösungsansatz helfen:

in einem beliebigen Modul oder vor 1. sub in Formular-Code:
Public saldoneu

Ein VBA-Code beim Formular-Ereignis "Beim Anzeigen", der alle vorherigen Beträge summiert:

Private Sub Form_Current()
On Error GoTo err_
dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = Me.RecordsetClone
If Not Me.NewRecord Then Exit Sub
saldoneu = 0
rs.MoveFirst
If Not rs.EOF Then
Do While Not rs.EOF
saldoneu = saldoneu + rs!Betrag
rs.MoveNext
Loop
End If
exex:
Me.Saldo = saldoneu
rs.Close
Set rs = Nothing
Exit Sub
err_:
If Err.Number = 3021 Then GoTo exex:

End Sub

Nach Änderung des Betrages:

Private Sub Betrag_AfterUpdate()
Me.Saldo = Me.Saldo + Me.Betrag
End Sub

wenn du eingang und ausgangs-felder hast, dann für die 2 felder die sb-routinen erstellt werden! In diesem beispiel gibt es die felder Saldo und Betrag, diese Namen entsprechend angepassen!

gruss piano