RSS
 

Variablen unter Crystal Reports 2008

Veröffentlicht am Dezember 18, 2008 um 5:55 pm

18 Dez

… und was man beachten sollte!

Variablendeklarationen in Crystal Reports unterliegen folgender Syntax:

Variablenart Variablenname;

Den Namen  verschiedenen Variablenarten zu finden, ist in Crystal Reports sehr leicht. Sie sind unter ‘Variablendeklarationen’ unter Operatorenstruktur im Formeleditor zu finden.

Gültigkeitsbereiche

Es gibt 3 Arten von Variablen:

  • shared
  • global
  • local

Shared ist die umfassenste Art von Variabel, sie ist sowohl im Hauptbericht als auch in verketteten Unterberichten zugreifbar.

Global ist im Hauptbericht von jeder Funktion in jedem Berichtsabschnitt zugreifbar.

Local sind lediglich in der Formel gültig, in welcher sie deklariert wurden. Benutzt werden die klassifizierungen durch vorranstellen vor der Variablendeklaration. z.B.

Shared DataVar AktuellesLieferDatum;

Variablen anzeigen

Die Anzeige einer Variablen im Bericht geschieht durch Formeln. Am Ende der Formeln muss die Variable genannt werden und wenn die Formel in den Bericht eingefügt wird, nimmt sie dann den Wert der Variablen an.

D.h. möchte man eine Ergebnisvariable im Bericht anzeigen, so führt man die Berechnungen aus und setzt dann die Variable nochmal ein.

Bespiel:

CurrencyVar Summe;
Summe := x + y + z
Summe

Dies würde die Variable ausgeben.

Erweitert könnte man die Variable auch folgendermaßen ausgeben:

CurrencyVar Summe;
Summe:= x + y + z
“Die Summe beträgt ” & ToText(Summe) & ” Euro.”


Auswertungszeitpunkte bei Crystal Reports 2008

Crystal Reports 2008 kennt 3 Arbeitsschritte:

  • Before Reading Records
    • noch keine Daten ausgelesen
    • Ausführung von Formeln die kein Bezug auf Datenbankdaten haben
  • While Reading Records
    • Daten werden ausgelesen jedoch unsortiert / gruppiert
    • Formeln die sich auf Datenbankfelder beziehen werden ausgeführt, jedoch keine Summenfunktionen
  • While Printing Records
    • während Daten formatiert und gedruckt werden
    • Formeln welche Summen, Mittelwerte o.ä. berechnen

Bei Formeln die auf Variablen basieren, muss z.T. der Auswertungszeitpunkt manuell festgelgt werden ( z.B. WhilePrintingRecords) ansonsten wird die Formel nicht korrekt durchgeführt. Bei Formeln, die zum Zeitpunkt WhilePrintingRecords ausgeführt werden, kann trotzdem nicht auf Summen und Zusammenfassungen zugegriffen werden. Diese werden erst während dieses Arbeitschrittes erstellt.

Reihenfolgen festlegen

Oft ergeben sich die Auswertungszeitpunkte der Formeln durch ihre Plazierung von selbst ( Gruppenfuß, Berichtsfuß etc) sollte es jedoch notwendig sein mehrere Formeln auf gleicher Ebene zu verwenden, welche auf einander aufbauen, fügt man die Zeile EvaluateAfter({@Formelname}) ein, und die Formel wird erst durchgeführt, nach der in dieser Zeile genannten Formel.

 

Hinterlassen Sie eine Nachricht