Discussion:
Summen in Bericht
(zu alt für eine Antwort)
Peter Huber
2008-08-16 14:30:03 UTC
Permalink
Hallo NG

Ich habe einen Bericht, in welchem ich im Detailbereich verschiedene Felder
berechne. Dies aufgrund auch einesWertes, welchen ich erst zur Laufzeit mit
VBA in ein Textfeld stelle und mit Wenn-Funktionen abfrage. Dies
funktioniert auch problemlos. Nur kann ich leider im Berichtsfuss keine
Summe dieser berechneten Felder bilden.
Hat mit jemand einen Tipp oder gibt es tatsächlich keine Möglichkeit? Ich
habe alles probiert. Auch mit Hilfe einer Abfrage komme ich nicht zum Ziel,
da ich keinen Weg sehe, den flexiblen Wert dort zur Laufzeit zu integrieren.

Danke und viele Grüsse
Peter
Jens Schilling
2008-08-16 15:31:59 UTC
Permalink
Hallo, Peter
Post by Peter Huber
Ich habe einen Bericht, in welchem ich im Detailbereich verschiedene
Felder berechne. Dies aufgrund auch einesWertes, welchen ich erst zur
Laufzeit mit VBA in ein Textfeld stelle und mit Wenn-Funktionen
abfrage. Dies funktioniert auch problemlos. Nur kann ich leider im
Berichtsfuss keine Summe dieser berechneten Felder bilden.
Hat mit jemand einen Tipp oder gibt es tatsächlich keine Möglichkeit?
Ich habe alles probiert. Auch mit Hilfe einer Abfrage komme ich nicht
zum Ziel, da ich keinen Weg sehe, den flexiblen Wert dort zur
Laufzeit zu integrieren.
Schildere doch einmal bitte etwas konkreter - und nicht nur abstrakt - was
Du wann und womit berechnen willst.
So ist es schwer, Vorschläge zu machen.

Gruss
Jens
Peter Huber
2008-08-16 16:36:48 UTC
Permalink
Hallo Jens

Versuch ich gerne.

Also: Ich habe einen Bericht für eine OffenPosten-Liste. Diese Liste soll
auf ein bestimmtes Datum hin den jeweiligen Stand anzeigen. Dieses Datum
kann vom Anwender über ein Formular angegeben werden. Jetzt muss ich
aufgrund dieses Datums ermitteln, welche Rechnungen mit welchen Beträgen auf
der Liste angezeigt werden sollen. Es geht vor allem um das Problem der
Teilzahlungen. Diese müssen berücksichtigt werden, wenn das Zahldatum vor
dem Stichtag liegt, sonst nicht. Dies mach ich nun mit einem Textfeld und
einer dort definierten Wenn-Funktion, in welcher ich diese Prüfung vornehme
und als Resultat entweder 0 oder den effektiven Betrag anzeige. Das
funktioniert problemlos.
Aber eben: bei der Summe im Berichtsfuss gelingt es mir nicht, den Wert aus
diesem berechneten Textfeld (0 oder Betrag) zu berechnen. Ich hoffe, das
Problem ist jetzt ewas klarer und es gibt vielleicht sogar eine Lösung!?

Gruss
Peter
Post by Jens Schilling
Hallo, Peter
Post by Peter Huber
Ich habe einen Bericht, in welchem ich im Detailbereich verschiedene
Felder berechne. Dies aufgrund auch einesWertes, welchen ich erst zur
Laufzeit mit VBA in ein Textfeld stelle und mit Wenn-Funktionen
abfrage. Dies funktioniert auch problemlos. Nur kann ich leider im
Berichtsfuss keine Summe dieser berechneten Felder bilden.
Hat mit jemand einen Tipp oder gibt es tatsächlich keine Möglichkeit?
Ich habe alles probiert. Auch mit Hilfe einer Abfrage komme ich nicht
zum Ziel, da ich keinen Weg sehe, den flexiblen Wert dort zur
Laufzeit zu integrieren.
Schildere doch einmal bitte etwas konkreter - und nicht nur abstrakt - was
Du wann und womit berechnen willst.
So ist es schwer, Vorschläge zu machen.
Gruss
Jens
Jens Schilling
2008-08-16 17:04:44 UTC
Permalink
Hallo, Peter
Post by Peter Huber
Hallo Jens
Also: Ich habe einen Bericht für eine OffenPosten-Liste. Diese Liste
soll auf ein bestimmtes Datum hin den jeweiligen Stand anzeigen.
Dieses Datum kann vom Anwender über ein Formular angegeben werden.
Jetzt muss ich aufgrund dieses Datums ermitteln, welche Rechnungen
mit welchen Beträgen auf der Liste angezeigt werden sollen. Es geht
vor allem um das Problem der Teilzahlungen. Diese müssen
berücksichtigt werden, wenn das Zahldatum vor dem Stichtag liegt,
sonst nicht. Dies mach ich nun mit einem Textfeld und einer dort
definierten Wenn-Funktion, in welcher ich diese Prüfung vornehme und
als Resultat entweder 0 oder den effektiven Betrag anzeige. Das
funktioniert problemlos. Aber eben: bei der Summe im Berichtsfuss gelingt
es mir nicht, den
Wert aus diesem berechneten Textfeld (0 oder Betrag) zu berechnen.
Ich hoffe, das Problem ist jetzt ewas klarer und es gibt vielleicht
sogar eine Lösung!?
OK, ich denke, die Lösung sollte in einem anderen Aufbau Deiner Datenquelle
liegen, denn so wie Du diese schilderst - eigentlich mehr andeutest - sollte
es sich eigentlich über SQL lösen lassen.

Daher noch einmal die Bitte - werde konkreter, und nenne die beteiligten
Tabellen- und Feldnamen, und/oder stelle ein paar Beispieldatensätze dar.

Gruss
Jens
Peter Huber
2008-08-16 17:09:41 UTC
Permalink
Post by Jens Schilling
Hallo, Peter
Post by Peter Huber
Hallo Jens
Also: Ich habe einen Bericht für eine OffenPosten-Liste. Diese Liste
soll auf ein bestimmtes Datum hin den jeweiligen Stand anzeigen.
Dieses Datum kann vom Anwender über ein Formular angegeben werden.
Jetzt muss ich aufgrund dieses Datums ermitteln, welche Rechnungen
mit welchen Beträgen auf der Liste angezeigt werden sollen. Es geht
vor allem um das Problem der Teilzahlungen. Diese müssen
berücksichtigt werden, wenn das Zahldatum vor dem Stichtag liegt,
sonst nicht. Dies mach ich nun mit einem Textfeld und einer dort
definierten Wenn-Funktion, in welcher ich diese Prüfung vornehme und
als Resultat entweder 0 oder den effektiven Betrag anzeige. Das
funktioniert problemlos. Aber eben: bei der Summe im Berichtsfuss gelingt
es mir nicht, den
Wert aus diesem berechneten Textfeld (0 oder Betrag) zu berechnen.
Ich hoffe, das Problem ist jetzt ewas klarer und es gibt vielleicht
sogar eine Lösung!?
OK, ich denke, die Lösung sollte in einem anderen Aufbau Deiner
Datenquelle liegen, denn so wie Du diese schilderst - eigentlich mehr
andeutest - sollte es sich eigentlich über SQL lösen lassen.
Daher noch einmal die Bitte - werde konkreter, und nenne die beteiligten
Tabellen- und Feldnamen, und/oder stelle ein paar Beispieldatensätze dar.
Gruss
Jens
Peter Huber
2008-08-16 17:23:58 UTC
Permalink
Hallo Jens

Ich versuch nochmals etwas deutlicher zu werden:

Ich habe eine Tabelle in welcher alle Rechungsinformationen abgespeichert
werden (Fakturadatum, Fakturabetragetrag, Zahlungsbetrag, Zahlungsdatum und
ncoh viele weitere in diesem Zusammenhang unwesentliche Informationen). Auf
diese Tabelle gibt es eine entsprechende Tabelle für die Kriterien, welche
für das Problem aber keine Rolle spielen. Jetzt möchte ich auf einen
beliebigen Stichtag einen Bericht generieren. dieses Stichdatum steht erst
zur Laufzeit fest. Ich stelle es beim Öffnen des Berichtes in das Textfeld
"txtDatum" bevor die RecordSource des Berichtes eingestellt wird.
Nun erstelle ich neben vielen anderen gebunden Feldern ein berechnetes
Textfeld "txtZahlbetragGerechnet". In der ControlSource berechne ich dies
mit der Funktion:
=Wenn(Datumswert(txtZahldatum.Text) >
Datumswert(txtDatum.Text);0;txtZahlBetrag.Text).
Dies funktioniert. Wie kann ich aber nun im Berichtsfuss die Summe des
Textfeldes "txtZahlbetragGerechnet" bilden?
Ich hoffe, es ist mir gelungen, das Probelm einigermassen verständlich zu
erklären. Es geht eingentlich um die allgemeine Frage, ob es möglich ist aus
einem in einem Bericht berechneten Detailfeld eine Summe bilden zu können,
wenn die Berechnung von anderen Textfeldern des gleichen Berichtes abhängig
ist.

Danke und Gruss
Peter
Post by Jens Schilling
Hallo, Peter
Post by Peter Huber
Hallo Jens
Also: Ich habe einen Bericht für eine OffenPosten-Liste. Diese Liste
soll auf ein bestimmtes Datum hin den jeweiligen Stand anzeigen.
Dieses Datum kann vom Anwender über ein Formular angegeben werden.
Jetzt muss ich aufgrund dieses Datums ermitteln, welche Rechnungen
mit welchen Beträgen auf der Liste angezeigt werden sollen. Es geht
vor allem um das Problem der Teilzahlungen. Diese müssen
berücksichtigt werden, wenn das Zahldatum vor dem Stichtag liegt,
sonst nicht. Dies mach ich nun mit einem Textfeld und einer dort
definierten Wenn-Funktion, in welcher ich diese Prüfung vornehme und
als Resultat entweder 0 oder den effektiven Betrag anzeige. Das
funktioniert problemlos. Aber eben: bei der Summe im Berichtsfuss gelingt
es mir nicht, den
Wert aus diesem berechneten Textfeld (0 oder Betrag) zu berechnen.
Ich hoffe, das Problem ist jetzt ewas klarer und es gibt vielleicht
sogar eine Lösung!?
OK, ich denke, die Lösung sollte in einem anderen Aufbau Deiner
Datenquelle liegen, denn so wie Du diese schilderst - eigentlich mehr
andeutest - sollte es sich eigentlich über SQL lösen lassen.
Daher noch einmal die Bitte - werde konkreter, und nenne die beteiligten
Tabellen- und Feldnamen, und/oder stelle ein paar Beispieldatensätze dar.
Gruss
Jens
Jens Schilling
2008-08-16 18:33:47 UTC
Permalink
Hallo, Peter
Es bleibt leider noch immer beim Versuch - ich kann zum Beispiel nichts zu
den von Dir angedeuteten Teilzahlungen lesen.
Post by Peter Huber
Ich habe eine Tabelle in welcher alle Rechungsinformationen
abgespeichert werden (Fakturadatum, Fakturabetragetrag,
Zahlungsbetrag, Zahlungsdatum und ncoh viele weitere in diesem
Zusammenhang unwesentliche Informationen). Auf diese Tabelle gibt es
eine entsprechende Tabelle für die Kriterien, welche für das Problem
aber keine Rolle spielen. Jetzt möchte ich auf einen beliebigen
Stichtag einen Bericht generieren. dieses Stichdatum steht erst zur
Laufzeit fest. Ich stelle es beim Öffnen des Berichtes in das
Textfeld "txtDatum" bevor die RecordSource des Berichtes eingestellt
wird. Nun erstelle ich neben vielen anderen gebunden Feldern ein
berechnetes
Textfeld "txtZahlbetragGerechnet". In der ControlSource berechne ich
=Wenn(Datumswert(txtZahldatum.Text) >
Datumswert(txtDatum.Text);0;txtZahlBetrag.Text).
Dies funktioniert. Wie kann ich aber nun im Berichtsfuss die Summe des
Textfeldes "txtZahlbetragGerechnet" bilden?
Ich hoffe, es ist mir gelungen, das Probelm einigermassen
verständlich zu erklären. Es geht eingentlich um die allgemeine
Frage, ob es möglich ist aus einem in einem Bericht berechneten
Detailfeld eine Summe bilden zu können, wenn die Berechnung von
anderen Textfeldern des gleichen Berichtes abhängig ist.
Mir ist nicht klar, wo die Teilzahlungen herkommen sollen, von denen Du
sprichst.
Bei einer normalisierten DB hätte ich jetzt erwartet, dass es eine Tabelle
mit den Rechungen, und (zumindest) eine weitere Tabelle mit den
Zahlungsdetails gibt. Das scheint nicht so zu sein, und sollte dann zunächst
dringendst von Dir geändert werden.

Ich werd' Dich für heute mit dem Problem allein lassen müssen; wenn Du auf
weitere Hilfe hier hoffst, solltest Du den noch Mitlesenden weitere
Informationen geben.

Gruss
Jens
Peter Huber
2008-08-16 19:02:54 UTC
Permalink
Danke Jens, mehr kann ich dir aber auch nicht mitteilen. Alle Daten befinden
sich in der gleichen Tabelle (gleicher Datensatz für alle
Rechnungsinformationen). Natürlich hast du recht, dass das DB-Design gelinde
gesagt nicht optimal ist. Daran kann ich aber leider nichts ändern. Es hat
aber auch keinen Einfluss auf meine Problemstellung...

Gruss Peter
Post by Jens Schilling
Hallo, Peter
Es bleibt leider noch immer beim Versuch - ich kann zum Beispiel nichts zu
den von Dir angedeuteten Teilzahlungen lesen.
Post by Peter Huber
Ich habe eine Tabelle in welcher alle Rechungsinformationen
abgespeichert werden (Fakturadatum, Fakturabetragetrag,
Zahlungsbetrag, Zahlungsdatum und ncoh viele weitere in diesem
Zusammenhang unwesentliche Informationen). Auf diese Tabelle gibt es
eine entsprechende Tabelle für die Kriterien, welche für das Problem
aber keine Rolle spielen. Jetzt möchte ich auf einen beliebigen
Stichtag einen Bericht generieren. dieses Stichdatum steht erst zur
Laufzeit fest. Ich stelle es beim Öffnen des Berichtes in das
Textfeld "txtDatum" bevor die RecordSource des Berichtes eingestellt
wird. Nun erstelle ich neben vielen anderen gebunden Feldern ein
berechnetes
Textfeld "txtZahlbetragGerechnet". In der ControlSource berechne ich
=Wenn(Datumswert(txtZahldatum.Text) >
Datumswert(txtDatum.Text);0;txtZahlBetrag.Text).
Dies funktioniert. Wie kann ich aber nun im Berichtsfuss die Summe des
Textfeldes "txtZahlbetragGerechnet" bilden?
Ich hoffe, es ist mir gelungen, das Probelm einigermassen
verständlich zu erklären. Es geht eingentlich um die allgemeine
Frage, ob es möglich ist aus einem in einem Bericht berechneten
Detailfeld eine Summe bilden zu können, wenn die Berechnung von
anderen Textfeldern des gleichen Berichtes abhängig ist.
Mir ist nicht klar, wo die Teilzahlungen herkommen sollen, von denen Du
sprichst.
Bei einer normalisierten DB hätte ich jetzt erwartet, dass es eine Tabelle
mit den Rechungen, und (zumindest) eine weitere Tabelle mit den
Zahlungsdetails gibt. Das scheint nicht so zu sein, und sollte dann
zunächst dringendst von Dir geändert werden.
Ich werd' Dich für heute mit dem Problem allein lassen müssen; wenn Du auf
weitere Hilfe hier hoffst, solltest Du den noch Mitlesenden weitere
Informationen geben.
Gruss
Jens
Karl Donaubauer
2008-08-16 19:07:49 UTC
Permalink
Post by Peter Huber
...
Ich habe eine Tabelle in welcher alle Rechungsinformationen abgespeichert
werden (Fakturadatum, Fakturabetragetrag, Zahlungsbetrag, Zahlungsdatum
und ncoh viele weitere in diesem Zusammenhang unwesentliche
Informationen). Auf diese Tabelle gibt es eine entsprechende Tabelle für
die Kriterien, welche für das Problem aber keine Rolle spielen. Jetzt
möchte ich auf einen beliebigen Stichtag einen Bericht generieren. dieses
Stichdatum steht erst zur Laufzeit fest. Ich stelle es beim Öffnen des
Berichtes in das Textfeld "txtDatum" bevor die RecordSource des Berichtes
eingestellt wird. Nun erstelle ich neben vielen anderen gebunden Feldern
ein berechnetes
Textfeld "txtZahlbetragGerechnet". In der ControlSource berechne ich dies
=Wenn(Datumswert(txtZahldatum.Text) >
Datumswert(txtDatum.Text);0;txtZahlBetrag.Text).
Dies funktioniert.
Kann sein, aber lasse die Text-Eigenschaft besser weg, und
verwende nur die Feldnamen bzw. die damit automatisch verwendet
Value-Eigenschaft. Mit .Text bekommst du sonst bei leeren Feldern
eine Fehleranzeige.
Post by Peter Huber
Wie kann ich aber nun im Berichtsfuss die Summe des
Textfeldes "txtZahlbetragGerechnet" bilden?
Ich hoffe, es ist mir gelungen, das Probelm einigermassen verständlich zu
erklären. Es geht eingentlich um die allgemeine Frage, ob es möglich ist
aus einem in einem Bericht berechneten Detailfeld eine Summe bilden zu
können, wenn die Berechnung von anderen Textfeldern des gleichen
Berichtes abhängig ist.
Füge im Detailbereich ein zusätzliches Textfeld ein. Eigenschaften:

Name: LaufSumme
Steuelementinhalt: = txtZahlbetragGerechnet
Laufende Summe: Über Alles
Sichtbar: Nein

Im Berichtsfuß fügst du ebenfalls ein (diesmal sichtbares) Textfeld ein
mit Steuerelementinhalt: =LaufSumme
--
HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com, jetzt mit Anmeldung und Info
zur Access-Entwickler-Konferenz (AEK11), Oktober 2008, Nürnberg
Karl Donaubauer
2008-08-16 19:15:46 UTC
Permalink
Post by Karl Donaubauer
...
Name: LaufSumme
Äh, sauberer ist natürlich sowas:

Name: txtLaufSumme
Post by Karl Donaubauer
Steuelementinhalt: = txtZahlbetragGerechnet
Laufende Summe: Über Alles
Sichtbar: Nein
Im Berichtsfuß fügst du ebenfalls ein (diesmal sichtbares) Textfeld ein
mit Steuerelementinhalt: =LaufSumme
=txtLaufSumme
Peter Huber
2008-08-16 20:15:20 UTC
Permalink
Hallo Karl

Der Tipp mit der Laufenden Summe war genau der Schuss ins Schwarze. Ich habe
bereits einen Lösungsmurks gebaut, indem ich in einer Dummytabelle ein
einzelnes Feld / Datensatz mit dem gewünschten Datum aktualisiert , diese
Tabelle in einer neuen Abfrage mit der ursprünglichen Abfrage verbunden und
das ganze mit einem berechneten Feld in der neuen Abfrage gelöst habe.
Funktioniert aber brrrr....

Danke vielmals

Gruss Peter
Post by Karl Donaubauer
Post by Karl Donaubauer
...
Name: LaufSumme
Name: txtLaufSumme
Post by Karl Donaubauer
Steuelementinhalt: = txtZahlbetragGerechnet
Laufende Summe: Über Alles
Sichtbar: Nein
Im Berichtsfuß fügst du ebenfalls ein (diesmal sichtbares) Textfeld ein
mit Steuerelementinhalt: =LaufSumme
=txtLaufSumme
Loading...