Der Formeleditor vereinfacht das Schreiben von Formeln. Sie können beispielsweise auf Feldnamen, Operatoren und Routinen, sowie Projektmethoden klicken, um sie in Ihre Formel einzufügen. Klicken Sie auf ein Element, erscheint es automatisch im Eingabebereich, wo Sie es mit den Standardaktionen Ausschneiden/Kopieren/Einsetzen verändern können. Sie können Elemente auch direkt eingeben oder per Drag&Drop aus einer der Listen in den Eingabebereich setzen.
Der Formeleditor ist in folgende Bereiche gegliedert:
- Liste der Tabellen und Felder: Dieser Bereich zeigt die Felder der Tabelle. Im darüberliegenden DropDown-Menü wählen Sie die Tabelle der Felder aus. Sie können Felder der aktuellen Tabelle, von verknüpften Tabellen oder aus allen Tabellen verwenden.
Hinweis: Tabellen und Felder mit der Eigenschaft Unsichtbar erscheinen nicht in der Liste. Weitere Informationen dazu finden Sie in den Abschnitten Tabelleneigenschaften und Feldeigenschaften. - Liste der Operatoren: Hier wählen Sie die Operatoren für die Formel. Sie sind nach Themen geordnet, welche Sie im darüberliegenden Menü aufrufen können:
Jedes Thema enthält alle für den Datentyp bzw. die Operation verfügbaren Operatoren. So ist z.B. der Operator := für alle Datentypen verfügbar. Die ausführliche Beschreibung der einzelnen Operatoren finden Sie im nächsten Abschnitt. - Liste der Routinen: Dieser Bereich enthält die für Formeln verfügbaren Befehle, sowie Projektmethoden, die der Entwickler für Benutzer freigegeben hat. Im darüberliegenden Menü definieren Sie, ob die Befehle nach Gruppen oder alphabetisch geordnet werden. Die ausführliche Beschreibung der Befehle finden Sie im Handbuch 4D Programmiersprache.
In der Regel müssen Projektmethoden, die in Formeln verwendbar sind, zuvor mit dem 4D Befehl SET ALLOWED METHODS deklariert sein. Designer und Administrator haben dagegen standardmäßig vollen Zugriff auf die 4D Befehle und Benutzermethoden im Formeleditor. Die Zugriffskontrolle lässt sich auch für alle Benutzer deaktivieren. Diese Option wird auf der Seite Sicherheit der Datenbank-Eigenschaften eingerichtet.
Nachfolgend sind die Operatoren aufgelistet, die im Formeleditor verfügbar sind. Eine ausführliche Beschreibung dazu finden Sie im Handbuch 4D Programmiersprache im Kapitel Operatoren.
- String Operatoren
A und B sind Zeichenketten; N ist die Anzahl.
Operator | Einsatz | Beschreibung |
:= Zuweisung | A:=B | Weist A den Wert B zu |
+ Verbindung | A+B | Gibt AB zurück |
* Wiederholung | A*N | Wiederholt N-mal den Wert A |
[[ ]] Indizes | [[A]]N | Gibt das N-te Zeichen von A zurück |
"" Leerer String | "" | Setzt ein Paar Anführungszeichen |
- Numerische Operatoren
X und Y sind Zahlen.
Operator | Einsatz | Beschreibung |
:= Zuweisung | X:=Y | Weist X den Wert Y zu |
+ Addition | X+Y | Gibt X plus Y zurück |
- Subtraktion | X-Y | Gibt X minus Y zurück |
* Multiplikation | X*Y | Gibt X multipliziert mit Y zurück |
/ Division | X/Y | Gibt X dividiert durch Y zurück |
\ Ganzzahlige Division | X\Y | Gibt die ganzzahlige Division von X durch Y zurück (X und Y müssen Ganzzahlen sein) |
% Modulo | X%Y | Dividiert X durch Y und gibt den Restwert zurück |
^ Exponent | X^Y | Gibt Y als Hochzahl von X an |
Hinweis: Der Operator Modulo % gibt signifikante Werte mit Zahlen aus dem Bereich Lange Ganzzahl zurück (von -2^31 bis +2^31 minus 1). Verwenden Sie bei Restwertberechnungen mit Zahlen außerhalb dieses Bereichs die 4D Funktion Mod.
- Datumsoperatoren
D1 und D2 sind Datumsangaben. N ist die Anzahl.
Operator | Einsatz | Beschreibung |
:= Zuweisung | D1:=D2 | Weist D1 den Wert D2 zu |
+ Addition | D1+N | Gibt D1 plus N Tage zurück |
- Differenz | D1-D2 oder | Gibt Anzahl der Tage zwischen D1 und D2 zurück |
| D1-N | Gibt D1 minus N Tage zurück |
!//! Leeres Datum | !00/00/00! | Fügt ein leeres Datum ein |
- Zeitoperatoren
H1 und H2 sind Zeitangaben; N ist eine Zahl.
Operator | Einsatz | Beschreibung |
:= Zuweisung | H1:=H2 | Weist H1 den Wert H2 zu |
+ Addition | H1+H2 oder | Gibt H1 plus H2 zurück |
| H1+N | Gibt H1 plus N Sekunden zurück, ausgedrückt in Sekunden ab Mitternacht |
- Subtraktion | H1-H2 oder | Gibt H1 minus H2 zurück |
| H1-N | Gibt H1 minus N Sekunden zurück, ausgedrückt in Sekunden ab Mitternacht |
* Multiplikation | H1*N | Gibt H1 multipliziert mit N zurück, ausgedrückt in Sekunden ab Mitternacht |
/ Division | H1/N | Gibt H1 dividiert durch N zurück, ausgedrückt in Sekunden ab Mitternacht |
\ Integer Division | H1\N | Gibt die ganzzahlige Division von H1 durch N zurück, ausgedrückt in Sekunden ab Mitternacht |
% Modulo | H1%N | Dividiert H1 durch N und gibt den Restwert zurück |
?::? Leere Zeit | ?00:00:00? | Fügt eine leere Zeit ein |
- Vergleichsoperatoren
Z1 und Z2 können vom Typ String, Zahl, Datum oder Zeit sein.
Operator | Einsatz | Beschreibung |
= gleich | Z1=Z2 | Gibt wahr zurück, wenn Z1 gleich Z2 ist |
# ungleich | Z1#Z2 | Gibt wahr zurück, wenn Z1 ungleich Z2 ist |
> Größer als | Z1>D | Gibt wahr zurück, wenn Z1 größer als Z2 ist |
>= Größer als oder gleich | Z1>=Z2 | Gibt wahr zurück, wenn Z1 größer oder gleich Z2 ist |
< Kleiner als | Z1<Z2 | Gibt wahr zurück, wenn Z1 kleiner als Z2 ist |
<= Kleiner als oder gleich | Z1<=Z2 | Gibt wahr zurück, wenn Z1 kleiner als oder gleich Z2 ist |
- Logische Operatoren
B1 und B2 müssen Boolean sein (Ausdruck ist WAHR oder FALSCH)
Operator | Einsatz | Beschreibung |
& UND | B1 & B2 | Gibt wahr zurück, wenn B1 und B2 wahr sind |
| ODER | B1 | B2 | Gibt wahr zurück, wenn B1 oder B2 wahr ist |