Hallo,
zur Zeit befasse ich mich mit der Erstellung eines Kassenbuchs.
Über ein Formular können die einzelnen Buchungen (Ausgabe und Einnahmen) für die einzelnen Konten (Kasse, Giro, Sparbuch) gebucht, also in eine
Tabelle geschrieben werden. Mit verschiedenen Abfragen können dann unter anderem die Ausgaben und Einnahmen beispielsweise pro Konto oder
gruppiert nach Verwendungszweck ausgewertet werden.
In einem Bericht, der aus Unterberichten besteht die wiederum auf die Abfragen aufgebaut sind, werden die Daten dann in der gewünschten Form ausgegeben.
In diesem Bericht wird unter anderem die Summe der Ausgaben (Ergebnis einer Abfrage) und die Summe der Einnahmen (ebenfalls Ergebnis einer
Abfrage) sowie die daraus resultierenden Mehreinnahmen, - bzw. Ausgaben (ebenfalls Ergebnis einer Abfrage) ausgegeben.
Nehmen wir an die Einnahmen belaufen sich auf 3.000 Euro und die Ausgaben auf 2.800 Euro.
Das Ergebnis der Abfrage die den Saldo ermittelt ist also 200 Euro.
Nun meine Frage : Ist es möglich, das Ergebnis dieser Abfrage, also die Zahl 200 in eine Variable zu schreiben ?
Worauf ich hinaus will : In Abhängigkeit ob diese Zahl positiv oder negativ ist, möchte ich im Bericht vor der Summe die Bezeichnung
"Mehreinnahmen" oder - falls negativ "Mehrausgaben" haben.
Klar könnte man natürlich auch den Begriff "Mehreinnahmen/-ausgaben" verwenden, aber es geht mir auch grundsätzlich um die Frage, ob
Werte einer Abfrage in eine Variable übernommen werden können, mit der dann "weitergerechnet" werden kann.
In einem zweiten Schritt wäre dann natürlich interessant, wie ich in einem Bericht entweder das eine oder das andere Bezeichnungsfeld (in
Abhängigkeit ob der Wert positiv oder negativ ist) unterbringen kann, aber zunächst einmal wäre ich für eine Antwort auf die erste Frage schon
froh !
Vorab schon mal vielen Dank.
Ralf26
Hallo,
das ginge mit der Dlookup-Funktion (siehe VBA-Hilfe) (wenn das Abfragefeld nicht etwa schon an ein Berichtsfeld gebunden ist, das den Saldo anzeigt)
Einschliesslich der zweiten Frage (Namen anpassen!):
Sub Gruppenfuß0_Format(...) ' oder ein anderer passender Bereich
Me!Saldo = Dlookup("Saldo","abf_Saldo")
If nz(Me!Saldo,0) >=0 Then
Me!BezSaldo.Caption = "Mehreinnahmen"
Else
Me!BezSaldo.Caption = "Mehrausgaben"
End If
End Sub
Perfekt !
Vielen Dank.
Das mit der Nz-Funktion habe ich noch nicht so ganz verstanden, aber der Bericht gibt einwandfrei die korrekte Bezeichnung aus.
Mir ging es hauptsächlich um die Möglichkeit Feldwerte in eine Variable zu schreiben. Dank der DLookUp-Funktion jetzt kein Problem mehr. Wieder was gelernt :)
Nochmals Danke,
Ralf26
Hallo,
wenn Dlookup keinen Wert an "Saldo" liefert, aus welchen Grund oder Fehler auch immer der in der Abfrage auch schon leer ist oder gar nicht gefunden wird, dann ist der Inhalt von "Saldo" NULL und die folgende IF-Bedingung erzeugt bei
If Me!Saldo >=0 Then
einen Fehler, da nicht mit NULL verglichen werden kann.