Zum Hauptinhalt springen

Formel im Formular

Über den Formular Designer haben Sie die Möglichkeit ein Formula (Formel) Steuerelement in ein Formular ein zu binden.

Das einrichten erfolgt analog zu den in "Script Button Knopf im Formular" beschriebenen Schritten.

Verkürzt:

  • Im Form Designer ein Formula Control hinzufügen z.B. "$FORMULA1" und speichern.
  • Wenn bereits ein Skript vorhanden dann auf die Eigenschaft "Formula" klicken und dann auf den Knopf dahinter klicken diese öffnet wenn vorhanden das Skript.
  • Ansonsten unter Repository->Skripte ein neues Skript anlegen oder ein vorhandenes verwenden.
  • Oben links bei der Liste "Formulare" hinzufügen drücken und das Formular wählen das das Steuerelement enthält.
  • Unten links in der liste Steuerelement "$FORMULA1" anklicken.
  • Beim Projekt das Skript zuweisen.
  • Code eingeben.
  • Kompilieren Knopf unten links drücken.
  • Speichern
  • Dialog im Client öffnen und testen.

Im Code Fenster erscheint nach dem anlegen folgendes leeres Skript Hier wird der Code der Formel eingegeben. Das Ergebnis der Berechnung muss immer der Eigenschaft "result" bzw. "this.Result" zugewiesen werden.

C#

public override void Calculate()
{
this.Result = "";
}

VB.NET

Public Overrides Sub Calculate()

Me.Result = ""

End Sub

Das folgendes Beispiel liest den wert der FID des aktuellen Datensatze und multipliziert diesen mit 2.

public overrides void Calculate()
{
this.Result = this.LngValue("FID") * 2;
}

Das folgendes Beispiel liest die Wert der Felder Vorname und Nachname und fügt diese zusammen.

public override void Calculate()
{
this.Result = this.StrValue("VORNAME") + " - " + this.StrValue("NACHNAME");
}

Das folgendes Beispiel liest den Wert des Feldes AREA (Fläche) und multipliziert diesen mit dem Wert des Feldes HOEHE.

public override void Calculate()
{
this.Result = this.DblValue("AREA") * this.DblValue("HOEHE");
}

Beachten Sie das es für jeden Datentyp eine Spalte eine zugeordnet
Funktion zum lesen des Spaltenwertes gibt. Wenn Sie die falsche Funktion für einen Wert verwenden wird eventuell ein falsches Ergebnis ausgegeben.

DatentypFunktion
Text Wertethis.StrValue("Feldname")
Fliess Komma Zahlthis.DblValue("Feldname")
Ganz Zahlthis.IntValue("Feldname")
Ganz Zahl (Gross)this.LngValue("Feldname")

Bei VB.NET verwenden Sie "Me." statt "this."