Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Summenberechnung mit Fastreport (https://www.delphipraxis.net/203069-summenberechnung-mit-fastreport.html)

FediDelPr 9. Jan 2020 17:09

Summenberechnung mit Fastreport
 
Hallo zusammen

Ich habe seit neuem ein Problem bei dem ich nicht weiterkomme:

Es geht um die Summenbildung, die bis jetzt gut funktionierte,
jetzt aber in einem von mehreren Reports in derselben Anwendung nicht mehr.

Ich verwende FastReport V6.0, seit gestern Abend V6.5 und Delphi Berlin 10.1.

Ich möchte eine einfache Summenbildung realisieren.
Das Grundsystem besteht aus den Bändern: Header/MasterData/Footer. Im Footer wird die
Summenbildung platziert. Die Grösse die aufsummiert werden soll ist im Band MasterData
vorhanden (wird auch richtig angezeigt).

Das eigenartige ist, dass als Summe folgendes erscheint:
Angenommen die aufzusummierenden 3 ersten Einträge seien:

177.30
232.10
29.75

erscheint als Summe 177.3232.129.75
Das Resultat wird aus den Zeilenwerten verschoben zusammengesetzt.

Kennt jemand diesen Effekt ?

Ich versuchte den Report abzuspecken bis auf die notwendige Einträge.
Ebenso bildete ich einen neuen Report. Auch hier zeigte sich dasselbe verhalten.

Auch habe ich den Fastreport neu geladen (neueste mir zugängliche Version 6.5.7),
das Problem ist nicht weg.

Bei weiteren (älteren) Reports die diese Summation verwenden funktioniert
die Summation wie erwartet.

Danke für eure Hilfe.

jobo 10. Jan 2020 06:58

AW: Summenberechnung mit Fastreport
 
Sieht so aus, als ob hier eine NICHT-ZAHL konkateniert wird, statt zu summieren.
Der Punkt ist ja offenbar der Dezimal Trenner, was m.E. schon auf irgendeine falsche Einstellung oder gleich Zahlen in Textform hindeutet.

Klaus01 10. Jan 2020 08:15

AW: Summenberechnung mit Fastreport
 
wenn die Zahlen als text zusammengesetzt worden wären,
sollte das "Ergebnis" dann nicht 177.30232.1029.75 lauten?

Grüße
Klaus

Lemmy 10. Jan 2020 08:44

AW: Summenberechnung mit Fastreport
 
Zitat:

Zitat von Klaus01 (Beitrag 1454844)
wenn die Zahlen als text zusammengesetzt worden wären,
sollte das "Ergebnis" dann nicht 177.30232.1029.75 lauten?

nicht zwingend.. wenn der Wert 177.3 ist und die 0 nur wegen Formatsetting dazu kommt wäre das schon ne Lösung. Nur ist mir nicht klar, wie so was mit der eingebauten Summenfunktion erreicht werden kann.

FediDelPr 10. Jan 2020 19:37

AW: Summenberechnung mit Fastreport
 
Ich werde den Einfluss des Formats mal genauer ansehen. Allerdings
denke ich ist das Format in den funktionierenden Beispielen das selbe.

FediDelPr 10. Jan 2020 20:40

AW: Summenberechnung mit Fastreport
 
Das Format ( %2.2n ) hat keinen Einfluss auf das Berechnungsresultat.

Aber ich habe ein weiteres Problem festgestellt: MAX und MIN liefern nicht die
richtigen Resultate. Der Wert kommt zwar vor, er ist aber weder der grösste noch
der kleinste. Wenn ich dasselbe in einem weiter vorhandenen Bericht derselben
Anwendung ausführe funktionieren die Funktionen (SUM,MAX,MIN).

Ich versuche jetzt mal den funktionierenden Bericht als Basis zu verwenden und diesen
laufend in den gewünschten überzuführen.

jobo 11. Jan 2020 11:06

AW: Summenberechnung mit Fastreport
 
Das Format ist in dem Moment uninteressant, wenn es auf einen Wert trifft, der bereits von Anfang an ein String ist. Das ist zumindest das, was ich vermute.

Lemmy 11. Jan 2020 23:50

AW: Summenberechnung mit Fastreport
 
Zitat:

Zitat von FediDelPr (Beitrag 1454913)
Ich versuche jetzt mal den funktionierenden Bericht als Basis zu verwenden und diesen
laufend in den gewünschten überzuführen.

wie kommen die Daten denn in dem Report? frxUserDataset oder frxDBDataset? Wenn DB Dataset, sind das "Normale" Datentypen oder evtl. Ergebnisse von SQL-Funktionen (Select SUM(x) from...)? Wenn das Ergebnisse von SQL-Funktionen sind, kannst Du bei dem DBMS ein CAST zu einem Float machen?

FediDelPr 12. Jan 2020 00:05

AW: Summenberechnung mit Fastreport
 
Die Daten kommen von einem frxDBDataset.

Ich bin noch nicht sicher, aber einiges deutet darauf hin, dass es bei Verwendung von
UNION (in ADOQuery) nicht richtig funktioniert.

Das eigenartige Resultat (wie CONCAT) deutet tatsächlich darauf hin, dass Strings verarbeitet
werden und nicht DOUBLE/FLOAT.

Hier ein Auszug aus dem SQL-Text:

kommt noch, es gibt da ein Problem beim Einfügen des SQL-Textes

FediDelPr 12. Jan 2020 00:17

AW: Summenberechnung mit Fastreport
 
Hier der SQL-Text:

Code:
SELECT
  :ParamInt1 AS Konto,
  Datum,
  Beleg,
  Buchungstext,
  KontoS AS Gegen,
  Betrag AS BetragS,
  '' AS BetragH,
  Kontobezeichnung
FROM
  Buchungen bu
LEFT JOIN Kontenplan kp
ON bu.KontoH = kp.Kontonr

WHERE (KontoH = :ParamInt2) AND
      Datum BETWEEN :ParamDate1 AND :ParamDate2

UNION

SELECT
  :ParamInt3,
  Datum,
  Beleg,
  Buchungstext,
  KontoH AS Gegen,
  '' AS BetragS,
  Betrag AS BetragH,
  Kontobezeichnung
FROM
  Buchungen bu
LEFT JOIN Kontenplan kp
ON bu.KontoS = kp.Kontonr

WHERE (KontoS = :ParamInt4) AND
      Datum BETWEEN :ParamDate3 AND :ParamDate4


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz