CrystalReports: Mengenfeld mit oder ohne Nachkommastellen: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „== Allgemeines == Das Mengenfeld (z.B. in einer Rechnung) wird normalerweise mit einer fest eingestellten Anzahl von Nachkommastellen gedruckt. Wenn man z.B. …“)
 
Zeile 1: Zeile 1:
 
== Allgemeines ==
 
== Allgemeines ==
  
Das Mengenfeld (z.B. in einer Rechnung) wird normalerweise mit einer fest eingestellten Anzahl von Nachkommastellen gedruckt. Wenn man z.B. niemals gebrochene Zahlen fakturiert sondern nur ganzzahlige Mengen hat, wird man im Formular (im Report) die Formatierung so einstellen, dass keine Nachkommastellen ausgegeben werden. Hat man nun aber ausnahmsweise doch mal Nachkommastellen in der Menge, werden diese im Formular aufgerundet und ohne Nachkommastellen ausgegeben. Dieser Artikel beschreibt, wie man das Mengenfeld in CrystalReports dynamisch formatieren kann.
+
Das Mengenfeld (z.B. in einer Rechnung) wird normalerweise mit einer fest eingestellten Anzahl von Nachkommastellen (Dezimalstellen) gedruckt. Wenn man z.B. niemals gebrochene Zahlen fakturiert sondern nur ganzzahlige Mengen hat, wird man im Formular (im Report) die Formatierung so einstellen, dass keine Dezimalstellen ausgegeben werden. Hat man nun aber ausnahmsweise doch mal Dezimalstellen in der Menge, werden diese im Formular aufgerundet und ohne Nachkommastellen ausgegeben. Dieser Artikel beschreibt, wie man das Mengenfeld in CrystalReports dynamisch formatieren kann.
  
 
== Feste Formatierung des Mengenfeldes ==
 
== Feste Formatierung des Mengenfeldes ==
Zeile 9: Zeile 9:
 
[[Datei:CrystalReports_Bsp_Mengenfeld_FesteFormatierung.png]]
 
[[Datei:CrystalReports_Bsp_Mengenfeld_FesteFormatierung.png]]
  
In diesem Fall erden '''keine Nachkommastellen''' ausgegeben!
+
In diesem Fall werden '''keine Dezimalstellen''' ausgegeben!
 +
 
 +
* Diesen Dialog öffnet man mit der rechten Maustaste über dem Feld --> '''Feld Formatieren-->Anpassen'''.
 +
 
 +
== Dynamische Formatierung des Mengenfeldes ==
 +
 
 +
Man kann die Dezimalstellen auch über Formeln steuern. Das bedeutet, dass die fest vorgegebene Formatierung nicht verwendet wird, sondern anhand einer Formel-Abfrage bestimmt wird, ob bzw. wieviel Dezimalstellen ausgegeben werden sollen. Dazu klickt man im Formatierungsdialog auf die Schaltfläche neben der Dezimal-Angabe...
 +
 
 +
[[Datei:CrystalReports_Bsp_Mengenfeld_Formel_Btn.png]]
 +
 
 +
und gibt folgende Formel ein:
 +
 
 +
// Wenn die Menge Nachkommastellen enthält, mit 2 NK drucken, sonst ohne:
 +
if {RECHPO.AUFTRMENGE} - Int({RECHPO.AUFTRMENGE}) > 0 then
 +
    2
 +
else
 +
    0;
 +
 
 +
 
  
  

Version vom 8. Mai 2014, 10:20 Uhr

1 Allgemeines

Das Mengenfeld (z.B. in einer Rechnung) wird normalerweise mit einer fest eingestellten Anzahl von Nachkommastellen (Dezimalstellen) gedruckt. Wenn man z.B. niemals gebrochene Zahlen fakturiert sondern nur ganzzahlige Mengen hat, wird man im Formular (im Report) die Formatierung so einstellen, dass keine Dezimalstellen ausgegeben werden. Hat man nun aber ausnahmsweise doch mal Dezimalstellen in der Menge, werden diese im Formular aufgerundet und ohne Nachkommastellen ausgegeben. Dieser Artikel beschreibt, wie man das Mengenfeld in CrystalReports dynamisch formatieren kann.

2 Feste Formatierung des Mengenfeldes

Normalerweise wird das Mengenfeld in CrystalReports fest formatiert:

CrystalReports Bsp Mengenfeld FesteFormatierung.png

In diesem Fall werden keine Dezimalstellen ausgegeben!

  • Diesen Dialog öffnet man mit der rechten Maustaste über dem Feld --> Feld Formatieren-->Anpassen.

3 Dynamische Formatierung des Mengenfeldes

Man kann die Dezimalstellen auch über Formeln steuern. Das bedeutet, dass die fest vorgegebene Formatierung nicht verwendet wird, sondern anhand einer Formel-Abfrage bestimmt wird, ob bzw. wieviel Dezimalstellen ausgegeben werden sollen. Dazu klickt man im Formatierungsdialog auf die Schaltfläche neben der Dezimal-Angabe...

CrystalReports Bsp Mengenfeld Formel Btn.png

und gibt folgende Formel ein:

// Wenn die Menge Nachkommastellen enthält, mit 2 NK drucken, sonst ohne:
if {RECHPO.AUFTRMENGE} - Int({RECHPO.AUFTRMENGE}) > 0 then
   2
else
   0;



4 Links