currentForm! Bezieht sich auf das aktuell geöffnete Formular wobei der FeldName den Namen einer Komponente innerhalb des Formulars entsprechen muss.
Bei der Ausführung oder Aktualisierung des TableElementes, welche die Anweisung mit dem Ausdruck enthält, wird das Feld mit dem entsprechenden Namen herausgesucht und der Wert durch den in der gefunden Komponentenwert ersetzt.
| Zahlen: | ||
|---|---|---|
| Feld im Formular | Name = txt_id | Text = 30 |
| Anweisung | SELECT * FROM TABELLE WHERE ID = currentForm!txt_id | |
| Ausführung | SELECT * FROM TABELLE WHERE ID = 30 | |
Wenn bei der Ausführung gewisse Limiter, z.B. Einfache Anführungszeichen bei Text Werten, benötigt werden, müssen diese angegeben werden:
| Text: | ||
|---|---|---|
| Feld im Formular | Name = txt_text | Text = Hallo Welt |
| Falsch: | ||
| Anweisung | SELECT * FROM TABELLE WHERE VALUE = currentForm!txt_text | |
| Ausführung | SELECT * FROM TABELLE WHERE VALUE = Hallo Welt | |
| Richtig: | ||
| Anweisung | SELECT * FROM TABELLE WHERE VALUE = ‘currentForm!txt_text’ | |
| Ausführung | SELECT * FROM TABELLE WHERE VALUE = ‘Hallo Welt’ | |
Die Ausführung der oberen Anweisung würde zu einem Fehler führe da die Datenbank Hallo Welt für einen Zahlenwert halten würde.
Wenn aus einem Formular ein Bericht aufgerufen wird, ist es möglich aus einer SQL-Anweisung welche im Bericht hinterlegt wird, weiterhin über currentForm! auf das Formular zurückzugreifen. Damit könnten zuvor eingegebene Daten, die nicht in der Datenbank gespeichert werden, mit auf dem Bericht ausgegeben werden.