Zum Hauptinhalt springen

Function Button

Ab Version 23.1.183 verfügbar.
Beachten diese Beschreibung gilt nur für Versionen grösser oder gleich 23.1.193!
Bitte benutzen Sie keine Version die niedriger ist.

Mit dem Function Button kann ein Knopf eingefügt werden der diverse verschiedene fest eingebaute Funktionen ausführen kann. Eine einzelne Funktionen finden sie weiter unten.

Oft wird dieser Knopf benutzt um Spaltenwerte von anderen Tabellen in den aktuellen Datensatz zu kopieren.

Bitte beachten

Die Update Funktion beim Funktion Button geht nur wenn man Update Rechte auf die Tabelle hat auf die upgedated wird. Dasgleiche gilt für die Lösch Funktion.

Der Knopf ist nur im "Datensatz Anzeige Modus" verfügbar.

Hiermit können auch Workflow abgebildet werden d.h. es können mehrer Funktionen nacheinander in der angegebenen Reihenfolge ausgeführt werden.

z.B. wählen eine Feature in der Grafik und zuweisen eines Wertes dea Features zum aktuellen Datensatz.

Wählen Sie bei "Funktionsname" die gewünschte Funktion. Danach geben Sie bei "Parameter" ggf Parameter zu der Funktion ein.

Steuerelement spezifische Eigenschaften

EigenschaftBeschreibung
CommandsEin Command/Funktion (siehe unten)
KommentarHier können Sie eigene Kommentare hinzufügen um das Stuerelement leichter zu identifizieren wenn sie meherer Function Buttons verwenden.
Knopf BeschriftungDie Beschriftung direkt auf dem Steuerelement
Knopf BildEin Icon kann als Ergänzung zum Text hinzugefügt werden.

Variablen Namen

Variable Namen sind in Eckigen Klammern an zu geben. Der Name {ME} ist reserviert und symbolisiert den aktuellen Datensatz (das Feature).

Beispiel:

{ME.FID} 

gibt die FID des Datensatzes zurück. Dies sind die wirklichen Werte der Datenbank. Die können auch gesetzt werden.

Die im Formular dargestellten Werte bekommen Sie durch Angabe der Feldnamen in eckigen Klammern. Diese können nur gelesen werden. Beispiel: {FID}

Beachten Sie das in den Formularen z.B. bei Kennungslistenwerte oft nicht der wirkliche Datenbankwert steht sondern ein aufgelöster Wert einer anderen Tabelle.

Beispiel: In der Datenbank hat das Feld ID_BAUM_TYPE den Wert 17. Im Formular wird aber der Klartext dargestellt also der VALUE Wert (Buche) aus der Tabelle BAUM_TYPE wo die ID= 17 ist.

d.h.
{ME.ID_BAUM_TYPE} gibt den Wert 17 zurück.
{ID_BAUM_TYPE} gibt den Wert 'Buche' zurück.

In vielen Fällen arbeitet man mit Featuren, also Objekten die wiederum Eigenschaften haben. Dann wird zuerst der Name der Feature Variable angegeben plus Punkt plus der Feldname. Beispiel {ME.ID_BAUM_TYPE}

Bei Geometrien stehen erweiterte Funktionen zum lesen zur Verfügung. X/Y - Punkt/Zentrums Koordinaten Length = Länge einer Linie/Fläche Area = Fläche

Beispiele:

{ME.GEOM.X}
{ME.GEOM.Y}
{ME.GEOM.LENGTH}
{ME.GEOM.AREA}

Ab Version 24.2.66 können Koordinaten mit dem Ausdruck "TRANSFORMTO" transfomiert werden.

Der EPSG Code des Ziel Koordinatensystems wird in Klammern angegeben.

Beispiele:

{ME.GEOM.X.TRANSFORMTO(4326)}  
{ME.GEOM.Y.TRANSFORMTO(4326)}
{ME.GEOM.TRANSFORMTO(4326)}

Variablen die mit

{U.

beginnen sind benutzerdefinierte Variablen.

List der Funktionen

Feature abfragen (Query Feature)

Hiermit kann ein Feature (Datensatz) mittels SQL Where Bedingung in eine Feature Variable geladen werden. Datenbankverbindung und Tabellennamen müssen ausgefüllt werden.

Der "Feature Variable Name" wird vom Programm festgelegt. Unter diesem Namen können die Werte des Features angesprochen werden.

Wenn die Abfrage kein Feature zurückliefert wird der ganze Vorgang abgebrochen. Wenn die Abfrage mehr als ein Feature zurückliefert wird das erste Feature verwendet.

Ab Version 24.1.143
Wenn "Create Empty Feature Variable if query has no result" aktiviert wird wird wenn kein Feature gefunden wurde der Vorgang nicht abgebrochen und in die Feature Variable wird ein "leeres Feature" (leerer Datensatz) geladen.

Wenn eine Feature Variablen mit "Leeren Featuren" bei einem "Assign Values" als Source (Quelle) angegeben wird dann wird die Zuweisung ignoriert.

Ab Version 24.1.143
Bei "Not found Message" kann eine Fehlermeldung festgelegt werden die ausgegeben werden soll wenn kein Feature gefunden wurde. Diese wird nur angezeigt wenn "Create Empty Feature if query has no result" nicht aktiviert ist.

Wert mittels SQL abfragen (Query Value)

Hiermit kann ein Wert mittels SQL in eine Variable geladen werden. Datenbankverbindung, SQL und Variablenamen müssen ausgefüllt werden.

Feature in Karte wählen (Select Feature in Map)

Hiermit kann ein Feature in der Karte ausgewählt werden. Datenbankverbindung und Tabellennamen müssen ausgefüllt werden.
Der "Feature Variable Name" wird vom Programm festgelegt. Unter diesem Namen können die Werte des Features angesprochen werden.

Benutzerdefinierte Variablen erzeugen (Create User Variables)

Hiermit können Benutzer Definierte Variablen angelegt werden. Diese beginnen immer mit "{U." Das "U" steht für "User Defined" (Benutzer Definiert)

Variable NameDefault ValueBemerkung
{U.NAME}Hans Maiserrichtig
{U.NAME}'Hans Maiser'falsch, Text nicht in '' setzen
{B.HOEHE}15.123richtig
{B.HOEHE}15,123falsch, Dezimal Trenner muss ein Punkt sein
{B.HOEHE}15+3falsch, Formeln sind hier nicht erlaubt
{B.HOEHE}NULLfalsch, NULL Ist nicht erlaubt. Dazu "Assign" benutzen.

Werte zuweisen/berechnen (Assign Values)

Hiermit können Variablen fixe Werte oder werte anderer Variablen zugewiesen werden. Sie können hiermit auch Berechnungen durchführen und das Ergebnis einer Variablen zuweisen.

Beispiele:

TargetSource
{ME.NAME}'Hans Maiser'
{B.NAME}{A.FID}
{B.NAME}{A.FID}*15
{B.NAME}{A.NAME}||'-'||{A.NACHNAME}
{B.HOEHE}15.123
{B.HOEHE}NULL

Texte müssen immer in einfach Anführungszeichen gesetzt werden. Richtig: 'Hans Maiser'
Falsch: Hans Maiser

Bei Zahlen ist immer ein Punkt als Dezimal Trenner an zu geben, nicht Komma.
Richtig: 15.1234
Falsch: 15,1234

Bei Source können Formelausdrücke verwendet werden.
Für eine Liste der möglichen Formel Funktionen siehe:
https://help.mapedit.de/admin-guide/mapedit-appbuilder/ConditionParser

Beachten Sie das in diese Fall anders als dort Beschrieben Variablennamen in eckige Klammern geschrieben werden müssen. Also {A.COLUMN} statt COLUMN.

Wenn der Source Wert eine reiner Spaltenname eines Features ist wie

{A.NAME}

dann werden die werte direkt zugewiesen, auch NULL Werte.
In allen anderen Fällen werden NULL werte in 0 oder einen leeren Text umgewandelt.

Ab Version 24.1.143

Wenn eine reine Feature Variablen mit "Leeren Featuren" (leerer Datensatz) bei einem "Assign Values" als Source (Quelle) angegeben wird dann wird die Zuweisung ignoriert. (siehe Query Feature)

Beispiele wenn {B} leer ist.

TargetSourceErgebnisHinweis
{ME.LENGTH}{B.LENGTH}wird ignoriertGanze Zuweisung wird Ignoriert weil {B} leer ist.
{ME.LENGTH}{B.LENGTH}*150 = 0 * 15Anweisung wird NICHT ignoriert, {B.LENGTH} wird in 0 umgewandelt
{ME.NAME}{B.NAME}' Test'

Feature in Karte anzeigen (Highlight Feature)

Hiermit kann ein Feature das vorab mit "Query Feature" geladen wurde in der Karte gehighlighted werden.

Mehrere Feature in Karte anzeigen (Highlight Features)

Hiermit können ein oder mehrere Features mittels SQL Where Bedingung in der Karte gehighlighted werden.

Datenbankverbindung und Tabellennamen müssen ausgefüllt werden.

Meldung anzeigen (Show Message)

Hiermit können Daten in einer Meldungsbox ausgegeben werden.

Variablen können benutzt werden.

Beispiel:

FID: {ME.FID}
Name: {A.NAME}
X: {ME.GEOM.X}
Y: {ME.GEOM.Y}
Warnung

Berechnungen und Formeln sind hier nicht zulässig.

Ja/Nein Frage stellen (AskYesNoQuestion)

Ab Version 24.1.146

Hiermit kann ein Dialog angezeigt werden der eine Ja/Nein Frage stellt. Die Antwort (True/False) wird dann in einer Variable abgelegt.

Variablen können in der Textausgabe benutzt werden.

Beispiel:

Wollen Sie weiter machen?
Soll die FID {ME.FID} gelöscht werden?
Ist Ihr Name {A.NAME} und Ihr Alter {A.ALTER}?
Warnung

Berechnungen und Formeln sind hier nicht zulässig.

Eingabe Fenster - Werte eingeben (Input Values)

Zeigt ein Eingabe Fenster an in den Werte eingegeben werden können die Variablen zugewiesen werden.

Geben Sie bei Titel den Titel des Eingabefeldes ein. Wählen Sie bei "Variable Name" den Namen der Variable aus.

Bei "Format Type" kann angegeben werden von welchem Typ das Eingabe Feld sein soll.

FormatBeschreibung
TEXTText Wert
NUMBERZahlen Wert
CHECKBOXJa/Nein Feld (1=Ja, 0= Nein)
DOMAIN(TABLENAME)Auswahlbox Werte einer Domain Tabelle
DOMAIN(CONNECTION.TABLENAME)Auswahlbox Werte einer Domain Tabelle
COMBOBOX(A,B,C)Auswahlbox Manuelle Werte

Feature speichern (Update Feature)

Updated (speichert) ein Feature in die Datenbank und aktualsiert den Datensatz. Bei "Feature Variable Name" muss der Variable Name des zu speichernden Features angegeben werden.

Nach dem Update wird der aktuelle Dialog und alle Dialoge die die Tabelle des
Upgedaten Features benutzten aktualisiert.

Bitte beachten

Die Funktion ist nur ausführbar wenn die Tabelle die upgedated werden soll auch Update Rechte hat.

Generic Formular öffnen (Open Generic Form)

Öffnet ein Generic Formular Form mit einem SQL Filter

Feature in Topology Explorer anzeigen (Show Feature in Topology Explorer)

Ab Version 23.1.192

Öffnet den Topology Explorer und zeigt das bei "Feature Variable Name" angegebene Feature im Topology Explorer an.

Voreingestellt ist als "Feature Variable Name" der Name {ME}. Dies symbolisiert den aktuellen Datensatz (das Feature).

Öffne URL (Open URL)

Öffnet den Browser mit der angegebenen URL.

Bei der URL können als Parameter Spaltennamen in {} angegeben werden. Der Spaltenname wird dann zur Laufzeit durch den Spaltenwert des Datensatzes ersetzt.

Beispiele:

https://www.mycity.de/key={ME.FID}
https://maps.google.com/maps?q={ME.GEOM.Y.TRANSFORMTO(4326)},{ME.GEOM.X.TRANSFORMTO(4326)}
Bitte beachten

Wenn sie die URL zum öffnen von Karte wie Google Maps und andere verwenden und an die falsche Stelle (oder leicht falsche Stelle) gezoomt wird, dann wurden X und Y verwechselt oder das falsche Koordinatensystem gewählt. Bei den meisten Karten die mit Lat/Lon arbeiten wird EPSG Code 4326 oder 3857 verwendet.

Vorgehen bei Utility Featuren:

Bei Utility Featuren hat das Attrribut Fetaure keine Geometrie. In dem Fall muss das Feature das Die Geometrie hat geholt werden und dann in der URL benutzt werden.

Zuerst das Geometrie Feature abfragen:

Tabelle "BUS_STOP_POINT" ist die Tabelle welche die Geometrie enthält.

fid_attr={ME.FID}

ME.FID ist die FID des aktuellen Datensatzes. Also die Fid des Utility Attribut Features.

Mit dem Befehl wird das Feature das die Geometrie hat in die Variable "A" geladen. Den Variablennamen sehen Sie in dem Dialog

Bei "Öffne URL" kann nun die Geometrie von "A" verwendet werden.

Also statt ME.GEOM wird A.GEOM verwendet

https://maps.google.com/maps?q={A.GEOM.Y.TRANSFORMTO(4326)},{A.GEOM.X.TRANSFORMTO(4326)}

Rechts in der Liste sehen Sie auch nochmal zu welcher Tabelle eine Variable gehört.

Email verschicken (Send EMAIL)

Hiermit können Sie ein Email senden. Wird Outlook als Option aktiviert wird die EMAIL vorab in Outlook angezeigt. Diese Option ist nur sinnvoll wenn alle Clients Outlook installiert haben.

In allen Feldern können Variablen verwendet werden.

Beispiel:

FID: {ME.FID}
Name: {A.NAME}
X: {ME.GEOM.X}
Y: {ME.GEOM.Y}
Bitte beachten

Wenn Sie Dateianhänge benutzten dürfen diese bis der Anwender die Email verschickt hat nicht gelöscht werden. Das verschicken muss immer vom Anwender in Outlook ausgelost werden. Das Programm kann diese nicht automatisiert durchführen.

Detail Zeichenbereich anzeigen/erzeugen

Zeigt einen Detail Zeichenbereich an. Wenn noch kein Detail Zeichenbereich vorhanden ist wird vorab einer erzeugt bzw der Anwender ggf aufgefordert einen anzulegen.

Objekt Gruppierung einfügen (Insert Feature Block)

Fügt Feature Blöcke ein.

Details siehe:
https://help.mapedit.de/admin-guide/mapedit-appbuilder/database-connections/FeatureBlock#einrichten-des-formular

Feature erzeugen (Create Feature)

Ab Version 24.1.143

Erzeugt ein Feature speichert es aber nicht in der Datenbank.
Das Feature wurd erst in die Datenbank gespeichert wenn "Update Feature" aufgerufen wird.

Feature löschen (Delete Feature)

Ab Version 24.1.143

Löscht ein Feature. Das feature muss vorab mit "Query Feature" geladen worden sein.

SQL ausführen (Execute SQL)

Ab Version 24.1.143

Führt einen SQL Befehl wie DELETE, UPDATE, INSERT etc aus.

Dieser Befehl sollte nur in sehr sehr wenigen Ausnahmefällen benutzt werden da dieser keine Feature Rules auslöst.

Zum Löschen, Anlegen und Updaten von Datensätzen sollten immer die Befehle Create Feature, Delete Feature und Update Feature verwendet werden, diese führen die Feature Rules aus.

Warnung

Vermeinden Sie diesen Befehl auf alle Fälle wenn es geht da keine Feature Rules ausgelöst werden was ggf je nach Fachschale zu inkonsistenten Daten führen kann.

Netzverfolgung starten (Start Networktracing)

Ab Version 24.2.65

Startet die Netzverfolgung mit dem bei "Start Feature Variable Name" angegebenen Feature als Start Feature. Geben Sie hier "{ME}" an wenn als Start Feature der aktuelle Datensatz des Generic Formulares benutzt werden soll.

Bericht erzeugen (Create Report)

Ab Version 24.2.82

Erzeugt einen Bericht und zeigt diesen optional an.

Wenn Sie "Bericht anzeigen" ausschalten wird der Bericht nur gespeichert aber nicht geöffnet.

Bei "Bericht speichern als Dateiname" kann optional ein Dateiname angegeben werden unter dem der Bericht gespeichert werden soll. Wird dies leer gelassen wird der Dateiname vom System erzeugt. Wird kein Pfadname angegeben wird der Temp Pfad des System genutzt. Alte Berichte im Temp Pfad werden alle 10 Tage gelöscht.

Der Dateiname (egal ob vom System erzeugt oder angegeben) wird in die Variable

{U.REPORTFILE}

geschrieben.

Wenn Sie den Bericht als nächsten Schritt als EMAIL versenden wollen, fügen Sie den Befehl "EMAIL verschicken" hinzu und geben Sie bei "Anhang Dateiname"

{U.REPORTFILE}

an.

Wenn ~ dann ~ ansonsten (If ~ Else ~ EndIf)

Ab Version 24.1.144

Hiermit können Bedigungsblöcke gesetzt werden.

Sie können If ~ Else ~ EndIf oder If ~ EndIf verwenden.

Für eine Liste der möglichen Funktionen siehe:
https://help.mapedit.de/admin-guide/mapedit-appbuilder/ConditionParser

Wird bei der Bedigung (Condition) nur der Name einen Feature Variable angegeben, z.B.

{A}

Dann liefert die Condition bei einem nicht "Leere Feature" true zurück ansonsten false.

D.h. wenn ein Datensatz vorhanden ist dann wird der Block nach dem IF ausgeführt.

Siehe "Query Feature" für die Beschreibung was "Leere Feature" sind.

Schleife - Loop (Loop Begin/Exit/End)

Ab Version 24.1.146

Hiermit können Schleifen realisiert werden. Sie benötigen immer die drei Elemente Loop Begin, Loop Exit und Loop End.

Bei Loop Exit kann eine Bedingung angegeben werden welche die Schleife verlässt.

Warnung

Vermeiden Sie Endloschleifen! Zum Schutz wird wenn eine Schleife mehr als 100000 mal durchlaufen wird, ein Meldungsfenster angezeigt und der Benutzer gefragt ob er abbrechen will.

Funktion beenden (Quit)

Ab Version 24.1.145

Beendet die Funktion und verarbeitet ignoriert alle weiteren Befehle.

Bei Condition kann optional eine Abbruch bedigung eingegeben werden.

Ablauf verfolgen

Ab Version 24.1.144

Im Log Fenster von MapEdit können Sie den Ablauf des Funktions Knopfes verfolgen. Hier sehen Sie auch Werte von Variablen und Berechnungen usw.

Import / Export

Ab Version 24.1.144

Mit den beiden Knöpfen Import und Export kann die Definition an andere via Datei weitergegeben werden.

Beispiel 1

Auswahl eines Feature in der Karte und zuweisen des Wertes des Feature zu einem Feld des aktuellen Datensatzes.

Fügen Sie das Commando "Select Feature in Map" hinzu. Füllen Sie Datenbank Verbindung und Tabelle Name aus. Merken Sie sich den Variablen Namen (in Normalfall "A")

Fügen Sie das Commando "Assign Values" hinzu.

Tragen Sie bei "Target Variable Name" das Ziel ein z.B. {ME.NAME} also das Feld Name des aktuellen Datensatzes und bei "Source Value" ein Feld des mit dem ersten Kommando gewählten Feldes. z.B. {A.LANG_NAME}

Fügen Sie das Commando "Update Feature" hinzu. Tragen Sie bei "Feature Variable Name" den Namen des Feature ein das gespeichert werden soll. In diesem Fall "ME" (Also der aktuelle Datensatz)

Beispiel 2

Kopieren von Spaltenwerten eines in Relation stehenden Features.

Sie haben z.B. einen Dialog auf der Tabelle BAUM. Die Tabelle Baum hat eine Spalte FID_LAGE die auf die Tabelle LAGE zeigt. In der Tabelle LAGE gibt es ein Feld ORT. Den Wert des Feldes LAGE.ORT wollen Sie nun in das Feld BAUM_ORT der Tabelle BAUM kopieren.

Fügen Sie das Commando "Query Feature" hinzu. Füllen Sie Datenbank Verbindung und wählen Sie bei Tabelle "LAGE" aus. Tragen Sie im Filter folgendes ein:

FID={ME.FID_LAGE}

Merken Sie sich den Variablen der Automatisch vergeben wird (in Normalfall "A")

Das Programm holt dann mit dem Filter den Datensatz aus der Tabelle LAGE.
Wenn kein Datensatz gefunden wird dann bricht der ganze Vorgang ab.

Fügen Sie das Commando "Assign Values" hinzu.

Tragen Sie bei "Target Variable Name" das Feld ein in den Sie einen Wert Speichern wollen.

{ME.BAUM_ORT}

ME ist das aktuelle Feature (der aktuelle Datensatz) des Dialoges.

Bei "Source Value" tragen Sie ein

{A.ORT}

Also der Wert der Spalte ORT aus dem vorher mit "Query Feature" geholten Features.

Fügen Sie das Commando "Update Feature" hinzu. Tragen Sie bei "Feature Variable Name" den Namen des Feature ein das gespeichert werden soll. In diesem Fall "ME" (Also der aktuelle Datensatz)

Hinweis

Diese dient nur zum Bespiel, Sie sollten redundante Daten vermeiden und in so einem Fall besser ein SQL Label oder eine Kennungsliste verwenden.

Beispiel 3

Zuweisen von Werten mit Varianten.

Beispiel, die Strom Tabelle EL_FEEDER_LOW (Abgang Niederspannung) hat die Spalten

  • NAME_NUMBER ein Feld vom Typ Text
  • FID_CONDUCTOR -> Verweis auf die Tabelle EL_CONDUCTOR (Leitungsabschnitt)
  • FID_CIRCUIT -> Verweis auf die Tabelle EL_CIRCUIT (Stromkreis)

Die Tabelle EL_CONDUCTOR (Leitungsabschnitt) hat die Spalten

  • FID
  • NAME_NUMBER ein Feld vom Typ Text

Die Tabelle EL_CIRCUIT (Stromkreis) hat die Spalten

  • FID
  • NAME_NUMBER ein Feld vom Typ Text

Mittels Knopfdruck soll nun das Feld NAME_NUMBER der Tabelle EL_FEEDER_LOW mit dem Wert des Feldes NAME_NUMBER aus der Tabelle EL_CONDUCTOR gefüllt werden wo der Datensatz von EL_CONDUCTOR die FID aus EL_FEEDER_LOW.FID_CONDUCTOR hat.

Wenn jedoch FID_CIRCUIT gefüllt ist soll es den Wert NAME_NUMBER aus der Tabelle EL_CIRCUIT holen und nicht den Wert aus EL_CONDUCTOR nehmen.

Schritt 1)

Holen des EL_CONDUCTOR Features/Datensatzes.

  • Fügen Sie das Commando "Query Feature" hinzu.
  • Wählen Sie die Datenbank Verbindung.
  • Wählen Sie bei Tabelle "EL_CONDUCTOR" aus.
  • Tragen Sie im Filter folgendes ein:
FID={ME.FID_CONDUCTOR}
  • Der Feature Variable wurde der automatisch Name {A} zugewiesen.

Schritt 2)

Holen des EL_CIRCUIT Features/Datensatzes.

  • Fügen Sie das Commando "Query Feature" hinzu.
  • Wählen Sie die Datenbank Verbindung.
  • Wählen Sie bei Tabelle "EL_CIRCUIT" aus.
  • Tragen Sie im Filter folgendes ein:
FID={ME.FID_CIRCUIT}
  • Aktivieren Sie "Create Empty Feature if query has no result"
    Dies erzwingt das wenn kein Datensatz gefunden wurde der Vorgang nicht abbricht und stattdessen eine leere Feature Variable im Speicher (nicht in der Datenbank) erzeugt wird.
  • Der Feature Variable wurde der automatisch Name {B} zugewiesen.

Schritt 3)

Zuweisen der Werte

  • Fügen Sie das Commando "Assign Values" hinzu.
  • Drücken Sie Rechts den "Add" Knopf
  • Wählen Sie bei "Target Variable Name" den Wert
{ME.NAME_NUMBER}
  • Wählen Sie bei "Source Variable Name" den Wert
{A.NAME_NUMBER}

Dies ist der Wert der in Schritt 1 geholt wurde.
Also der der Wert von NAME_NUMBER der Tabelle EL_CONDUCTOR.

  • Drücken Sie Rechts den "Add" Knopf
  • Wählen Sie bei "Target Variable Name" den Wert
{ME.NAME_NUMBER}
  • Wählen Sie bei "Source Variable Name" den Wert
{B.NAME_NUMBER}

Dies ist der Wert der in Schritt 2 geholt wurde. Also der der Wert von NAME_NUMBER der Tabelle EL_CIRCUIT

Wenn in {B} eine "Leere Feature Variable" ist weil es keinen Datensazt in EL_CIRCUIT gab dann wird diese zweite anweisung vopm Programm ignoriert.

D.h. wenn Feature in EL_CONDUCTOR und EL_CIRCUIT vorhanden sind dann wird zuerst NAME_NUMBER aus EL_CONDUCTOR geschrieben und danach der Wert mit NAME_NUMBER aus EL_CICUIT ueberschrieben.

Wenn Feature in EL_CONDUCTOR vorhanden ist aber keines in EL_CIRCUIT dann wird NAME_NUMBER aus EL_CONDUCTOR geschrieben und die zweite zuweisung ignoriert weil EL_CICUIT leer ist.

Beachten Sie das bei "Assign Values" die Werte jeweils nur dem im Speicher befindlichen Feature zugewiesen werden aber nicht in der Datenbank gespeichert werden.

Schritt 4)

Fügen Sie das Commando "Update Feature" hinzu. Tragen Sie bei "Feature Variable Name"

{ME}

ein.

Dies Speichert nun das im Speicher befindliche Feature "ME" in die Datenbank.

Beispiel 4 - Mit IF ~ ELSE ~ ENDIF

gleich wie Bespiel 4 nur mit verwednung einer IF Anweisung.

Folgend Sie Bespiel 3 und führen Sie nur die Schritte 1 und 2 aus.

Schritt 3)

Fügen Sie ein "IF" hinzu.
Geben Sie bei "Statement" folgendes ein

{B}

Die IF Funktion prüft ob {B} (also das Feature EL_CIRCUIT) einen Datensatz enthält (ein "nicht leeres Feature"). Sprich ob die Abfrage in Schritt 2 ein Feature zurück geliefert hat.

Wenn ja werden alle nachfolgenden Schritt bis zu einer ELSE oder ENDIF Anweisung ausgeführt.

Schritt 4)

Zuweisen des Wertes

  • Fügen Sie das Commando "Assign Values" hinzu.
  • Drücken Sie Rechts den "Add" Knopf
  • Wählen Sie bei "Target Variable Name" den Wert
{ME.NAME_NUMBER}
  • Wählen Sie bei "Source Variable Name" den Wert
{B.NAME_NUMBER}

Dies ist der Wert der in Schritt 2 geholt wurde.
Also der der Wert von NAME_NUMBER der Tabelle EL_CIRCUIT

D.h. wenn Feature EL_CIRCUIT nicht leer war wird die NAME_NUMBER aus EL_CIRCUIT zugewiesen.

Schritt 5)

  • Fügen Sie das Commando "Else" hinzu.

Schritt 6)

Zuweisen des Wertes

  • Fügen Sie das Commando "Assign Values" hinzu.
  • Drücken Sie Rechts den "Add" Knopf
  • Wählen Sie bei "Target Variable Name" den Wert
{ME.NAME_NUMBER}
  • Wählen Sie bei "Source Variable Name" den Wert
{A.NAME_NUMBER}

Dies ist der Wert der in Schritt 2 geholt wurde.
Also der der Wert von NAME_NUMBER der Tabelle EL_CONDUCTOR

D.h. wenn Feature EL_CIRCUIT leer war wird die NAME_NUMBER aus EL_CONDUCTOR zugewiesen.

Schritt 7)

  • Fügen Sie das Commando "EndIf" hinzu.

Schritt 8)

Fügen Sie das Commando "Update Feature" hinzu. Tragen Sie bei "Feature Variable Name"

{ME}

ein.

Dies Speichert nun das im Speicher befindliche Feature "ME" in die Datenbank.