Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Vertraute Funktionen
- Viele Funktionen der Basic-Syntax funktionieren genau wie die entsprechenden Funktionen von Visual Basic. Dies gilt unter anderem für Zeichenfolgenfunktionen wie Len, Mid und Filter, mathematische Funktionen wie Abs, Rnd und Sin, Finanzfunktionen wie PV, Programmierungsfunktionen wie IIF und Datumsfunktionen wie DateSerial, DateAdd und DateDiff.
- Die meisten der von Visual Basic unterstützten Operatoren sind auch in der Basic-Syntax gültig. Dazu gehören beispielsweise der Operator zur Zeichenfolgenverkettung (&) und Datum/Uhrzeit-Zeichen (#...#).
- In den meisten Anweisungen und Steuerelementstrukturen wird dieselbe Syntax wie in Visual Basic verwendet. Dies gilt für If-, Select-, Do While-, Do Until-, While- und For/Next-Anweisungen.
- So werden z.B. Kommentare und Zeilenfortsetzungszeichen im Stil von Visual Basic unterstützt und wie in Visual Basic die Verwendung von neuen Zeilen, Doppelpunkten und Gleichheitszeichen ermöglicht.
Ergebnis einer Formel
Das Ergebnis einer Formel bzw. der Wert, der ausgegeben oder ausgedruckt wird, wenn die Formel in einen Bericht eingefügt wird, wird als der von der Formel zurückgegebene Wert bezeichnet. Jede Formel in Crystal Reports muss einen Wert zurückgeben. In der Basic-Syntax wird dies erreicht, indem für die Spezialvariable "formula" ein Wert festgelegt wird. Die folgende Beispielformel in ganz einfacher Basic-Syntax gibt den Wert 10 zurück:
formula = 10
Der Wert, der von einer Formel zurückgegeben wird, kann einer der sieben unterstützten einfachen Datentypen sein: Zahl (Number), Währung (Currency), Zeichenfolge (String), boolescher Wert (Boolean), Datum (Date), Uhrzeit (Time) und DatumUhrzeit (DateTime) Darüber hinaus unterstützt Crystal Reports Bereichstypen und Arraytypen, die jedoch nicht von Formeln zurückgegeben werden können.
Der Variablen "formula" muss ein Wert zugewiesen werden
Wenn der Variablen "formula" kein Wert zugewiesen wird, ist die Basic-Syntax-Formel unvollständig.
Ab und zu werden Formeln benötigt, die lediglich einige globale Variablen deklarieren und initialisieren. Solche Formeln werden in der Regel im Berichtskopf eingefügt. Weisen Sie der Spezialvariablen "formula" in solchen Fällen einfach einen beliebigen Wert zu. Sie müssen dies tun, da jede Formel einen Wert zurückgeben muss, auch wenn Sie an diesem Wert nicht weiter interessiert sind.
Beispiel
Rem Einige Deklarationen für globale Variablen.
Rem Denken Sie daran, den Wert von 'formula' festzulegen
Global x As String, y As Number, z As DateTime
x = "hello"
y = 10.5
z = #Aug 6, 1976#
formula = 10
.
Datentypen und die Variable "formula"
Die Variable "formula" kann in derselben Formel mehrmals festgelegt werden. Nehmen wir beispielsweise an, eine Firma schließt beim Versand von Bestellungen mit einem Wert von über 1.000 € grundsätzlich eine Transportversicherung ab, für Aufträge mit niedrigerem Bestellwert dagegen nicht:
Rem Eine Formel, die einen Zeichenfolgenwert zurückgibt
If {Orders.Order Amount} >= 1000 Then
formula = "Versicherter Versand"
Else
formula = "Normaler Versand"
End If
Die oben angegebene Variable "formula" gibt die Zeichenfolge "Versand mit Versicherung" zurück, falls der Wert des Datenbankfeldes {Aufträge.Auftragsvolumen} größer als oder gleich 1000 ist, und bei allen niedrigeren Werten wird die Zeichenfolge "Normaler Versand" zurückgegeben. Beachten Sie, dass im obigen Beispiel die Variable "formula" zweimal vorkommt.
Wenn die Variable "formula" auf einen Wert eines bestimmten Typs eingestellt wird, kann sie an einer späteren Stelle innerhalb derselben Formel nicht mehr auf einen Wert eines anderen Typs eingestellt werden. Wenn Sie beispielsweise in dem oben genannten Beispiel die Zeichenfolge "Normaler Versand" durch die Zahl 10 ersetzen würden, würden Sie eine Fehlermeldung erhalten, da die Spezialvariable "formula" vorher auf den Zeichenfolgenwert "Versand mit Versicherung" eingestellt wurde.
Der Grund für diese Einschränkung besteht darin, dass Crystal Reports vorher mitgeteilt werden muss, welchen Typ eine Formel zurückgeben wird, damit die Anwendung genug Speicherplatz für die Rückgabewerte reservieren kann. Dies liegt daran, dass unterschiedliche Werte auch unterschiedlichen Speicherplatzbedarf haben. Ein weiterer Grund für diese Einschränkung ist die Tatsache, dass Anzahl und Art der verfügbaren Formatierungsoptionen vom Typ des jeweiligen Formelfeldes abhängig ist. So werden beispielsweise für ein Zahlenfeld Formatierungsoptionen wie die Option zur Festlegung der anzuzeigenden Nachkommastellen bereitgestellt, die für ein Zeichenfolgenfeld völlig sinnlos wären.
Anmerkung |
|---|
Im Gegensatz zu anderen Variablen, die in Formeln mit der Basic-Syntax verwendet werden, wird die Spezialvariable "formula" nicht eigens deklariert. |
Groß- und Kleinschreibung
In der Basic-Syntax wird nicht zwischen Groß- und Kleinschreibung unterschieden. Dies bedeutet, dass die Variablen "formula", "Formula" und "FORMULA" als identisch angesehen werden. Das gilt für alle Variablennamen, Funktionen und Schlüsselwörter, die in einer in Basic-Syntax geschriebenen Formel verwendet werden.
Anmerkung |
|---|
Die einzige Ausnahme zu dieser Regel bilden die Zeichenfolgenwerte. Die Zeichenfolge "Hallo" ist keineswegs identisch mit der Zeichenfolge "hallo". |
Übung anhand der Xtreme-Musterdatenbank
Viele der in diesem Abschnitt aufgeführten Beispiele beziehen sich auf die Xtreme-Musterdatenbank.
Anmerkung |
|---|
Weitere Informationen zur Konfiguration dieser Datenbank und ihres ODBC-Eintrags finden Sie unter Verzeichnis für die Xtreme-Musterdatenbank und ODBC DSN-Eintrag für die Xtreme-Musterdatenbank. |
Anmerkung