AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Summenberechnung mit Fastreport

Ein Thema von FediDelPr · begonnen am 9. Jan 2020 · letzter Beitrag vom 13. Jan 2020
Antwort Antwort
Seite 1 von 2  1 2      
FediDelPr

Registriert seit: 16. Feb 2018
112 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Summenberechnung mit Fastreport

  Alt 9. Jan 2020, 18:09
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.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Summenberechnung mit Fastreport

  Alt 10. Jan 2020, 07:58
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.
Gruß, Jo
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Summenberechnung mit Fastreport

  Alt 10. Jan 2020, 09:15
wenn die Zahlen als text zusammengesetzt worden wären,
sollte das "Ergebnis" dann nicht 177.30232.1029.75 lauten?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Summenberechnung mit Fastreport

  Alt 10. Jan 2020, 09:44
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.
  Mit Zitat antworten Zitat
FediDelPr

Registriert seit: 16. Feb 2018
112 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: Summenberechnung mit Fastreport

  Alt 10. Jan 2020, 20:37
Ich werde den Einfluss des Formats mal genauer ansehen. Allerdings
denke ich ist das Format in den funktionierenden Beispielen das selbe.
  Mit Zitat antworten Zitat
FediDelPr

Registriert seit: 16. Feb 2018
112 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Summenberechnung mit Fastreport

  Alt 10. Jan 2020, 21:40
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.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: Summenberechnung mit Fastreport

  Alt 11. Jan 2020, 12:06
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.
Gruß, Jo
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Summenberechnung mit Fastreport

  Alt 12. Jan 2020, 00:50
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?
  Mit Zitat antworten Zitat
FediDelPr

Registriert seit: 16. Feb 2018
112 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#9

AW: Summenberechnung mit Fastreport

  Alt 12. Jan 2020, 01:05
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

Geändert von FediDelPr (12. Jan 2020 um 01:14 Uhr)
  Mit Zitat antworten Zitat
FediDelPr

Registriert seit: 16. Feb 2018
112 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

AW: Summenberechnung mit Fastreport

  Alt 12. Jan 2020, 01:17
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:29 Uhr.
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