[Gelöst] Decimalstellen in Bericht

9. Juni 2009 17:42

Hi Zusammen,

habe mal wieder ein Problem mit Berichten. Ich versuche in einem Bericht soviele Nachkommastellen anzudrucken wie in einer Einrichtungstabelle eingegeben wurden.

Einrichtungstabelle:
code Beschreibung Nachkommastellen
1 Kupfer 5
2 Zinn 4
3 Blei 2

Wenn ich nun in meinem Bericht die 1. Spalte drucke sollten 5 Nachkommastellen kommen, bei der 2. Spalte 4 und bei der 3. Spalte 2 Nachkommastellen. Der Benutzer muss die Anzahl der Nachkommastellen über die Einrichtung verändern können.
Wie könnt man das umsetzen. Ich suche jetzt schon an die 8 Stunden und komme selber nicht drauf.
Habe es schon mit ROUND versucht aber leider nichts. In der Form war es kein Problem da habe ich mit Decimalplacesmax und Decimalplacesmin gearbeitet. Aber im Report....?

Hoffe Ihr könnt mir helfen?!
Danke!

Schöne Grüße
Jürgen
Zuletzt geändert von juergen_25 am 6. Juli 2009 13:44, insgesamt 1-mal geändert.

Re: Decimalstellen in Bericht

9. Juni 2009 23:05

Schau dir mal in Ruhe die Online-Hilfe (C/SIDE Reference Guide) zu dem FORMAT-Befehl als auch zu dem FORMAT-Property an.
Damit kannst du nämlich auch die Anzahl darzustellender Nachkommastellen beeinflussen.

(Ich bevorzuge den Weg "Hilfe zur Selbsthilfe", dann kannst du wenigstens sagen, dass du die Lösung selbst gefunden hast ;-) )

Re: Decimalstellen in Bericht

10. Juni 2009 11:10

Hallo Timo,
vielen Dank für Deinen Beitrag! Die Hilfe zur Selbsthilfe finde ich auch am besten. Vor allem weil man sich das "selbst erlente"am leichtesten merken kann.
Ich habe die Formatierung jetzt so realisiert.

Code:
BörsenkurseinrichtungREC.SETRANGE(Sortierung,1);
IF BörsenkurseinrichtungREC.FIND('-') THEN BEGIN
  CASE BörsenkurseinrichtungREC.Nachkommastellen OF
    0: Wert[1] := FORMAT(Feld1,0,'<Precision,0:0><Standard Format,1>');
    1: Wert[1] := FORMAT(Feld1,0,'<Precision,1:1><Standard Format,1>');
    2: Wert[1] := FORMAT(Feld1,0,'<Precision,2:2><Standard Format,1>');
    3: Wert[1] := FORMAT(Feld1,0,'<Precision,3:3><Standard Format,1>');
    4: Wert[1] := FORMAT(Feld1,0,'<Precision,4:4><Standard Format,1>');
    5: Wert[1] := FORMAT(Feld1,0,'<Precision,5:5><Standard Format,1>');
  END;
END;


Gibt es die Möglichkeit das Feld in dem die Nachkommastellen stehen direkt in den Befehl einzubauen? Dann würde ich mir die CASE Varianten sparen.

Nochmal Danke!
Schöne Grüße
Jürgen

Re: Decimalstellen in Bericht

10. Juni 2009 12:18

So zum Beispiel:
DeinText:=FORMAT(DeinDec,0,strsubstno('<Integer Thousand><Decimals,%1>',Nachkommastellen+1));

Re: Decimalstellen in Bericht

6. Juli 2009 13:44

So, spät aber doch, konnte leider erst heute wieder testen.
:mrgreen: @McClane - Perfekt nach genau dieser Lösung habe ich gesucht!! Vielen Dank!!

Danke auch an Timo!!!

Lg Jürgen