eva/3 Application BuilderEntwicklung von eva/3 AnwendungenArbeiten mit DatenbankenVerwenden von Variablen 

Nachbilden von SFormattedField Eigenschaften

Wenn in einem Formular SFormattedFields zum Filtern von Datensätzen benutzt werden, um Beispielsweise in einem SScrollTable die Anzahl der Datensätze einzuschränken, und von diesem Formular aus einen Bericht, mit genau diesen Einschränkungen geöffnet wird, müssen die Einstellungen des SFormattedFields in der SQL Anweisung, des Berichtes mit currentForm!Feldname Konstrukten abgebildet werden.

Man kann beliebig viele currentForm!Feldname Konstrukte in der SQL Anweisung einsetzen. Wenn nach mehreren Feldern gefiltert werden soll, kann man die WHERE Klausel entsprechend den Einstellungen in den SFormattedFields und dem STableElement aufbauen:

Beispiel:

SELECT * FROM books WERE (author LIKE 'currentForm!txt_author%') AND (title LIKE 'currentForm!txt_title%')

Das AND entspricht dem Vorgabewert der Eigenschaft UseOrOperator im STableElement (deaktiviert). Wenn diese Eigenschaft aktiviert ist, entsprich dies dem OR Operator.

Durch Wildcards kann man die Eigenschaft FilterOperator der SFormattedFields nachbilden:

FilterOperator Entsprechende SQL Operartion
a* spalte LIKE 'currentForm!Feldname%'
a*a spalte LIKE '%currentForm!Feldname%'
*a spalte LIKE '%currentForm!Feldname'

So entspricht jedes currentForm!Feldname einem der filternden SFormattedFields.

Beispiel: Wenn bei einer Formulierung wie

spalte LIKE 'currentForm!Feldname%'

das Feld lehr ist, wird diese in die Formulierung

spalte LIKE '%'

übersetzt. In diesem Fall gibt es nichts, nach dem gefiltert wird. Hat das Feld den Wert abc, wird die Formulierung

spalte LIKE 'abc%'

generiert. Dies entspricht dem Verhalten eines SFormattedField mit der Einstellung a*.