Version 2004
GET FIELD RELATION (VieleFeld; Eine; Viele{; *})
Parameter | Typ | Beschreibung | |
VieleFeld | Datenfeld | Feld, wo die Verknüpfung startet | |
Eine | Lange Ganzzahl | Status der Viele-zu-Eine Verknüpfung | |
Viele | Lange Ganzzahl | Status der Eine-zu-Viele Verknüpfung | |
* | * | Mit *: Eine und Viele geben den aktuellen | |
Status der Verknüpfung zurück | |||
(nur Werte 2 oder 3) | |||
Ohne * (Standard): Eine und Viele geben den | |||
Wert 1 zurück, wenn die Verknüpfung nicht | |||
durch Programmierung verändert wurde |
Beschreibung
Mit dem Befehl GET FIELD RELATION können Sie prüfen, ob der Status automatisch/manuell der Verknüpfung, die vom VieleFeld ausgeht, für den aktuellen Prozess geändert wurde.
Sie können jede Verknüpfung sehen, inkl. automatische Verknüpfungen im Strukturfenster.
Im VieleFeld übergeben Sie den Namen des Feldes in der VieleTabelle, von dem die zu prüfende Verknüpfung ausgeht.
Geht vom VieleFeld keine Verknüpfung aus, geben die Parameter Eine und Viele den Wert 0 (Null) zurück. Es wird ein Fehler generiert und die Systemvariable OK wird auf 0 (Null) gesetzt (siehe unten).
Nach Ausführen des Befehls enthält der Parameter Eine einen Wert, der angibt, ob die Viele-zu-Eine Verknüpfung auf automatisch gesetzt ist:
0 = Vom VieleFeld geht keine Verknüpfung aus. Syntaxfehler No. 16 wird erzeugt ("Das Feld hat keine Verknüpfung"), die Systemvariable OK hat den Wert 0 (Null). | |
1 = Vom VieleFeld geht keine Verknüpfung aus. Syntaxfehler No. 16 wird erzeugt ("Das Feld hat keine Verknüpfung"), die Systemvariable OK hat den Wert 0 (Null). | |
2 = Die Viele-zu-Eine Verknüpfung ist für den Prozess manuell. | |
3 = Die Viele-zu-Eine Verknüpfung ist für den Prozess automatisch. |
Nach Ausführen des Befehls enthält der Parameter Viele einen Wert, der angibt, ob die Eine-zu-Viele Verknüpfung automatisch ist:
0 = Es gibt keine Verknüpfung, ausgehend vom VieleFeld. Der Syntaxfehler Nr. 16 ("Dieses Datenfeld ist nicht verknüpft") wird erzeugt, die Systemvariable OK wird auf 0 (Null) gesetzt. | |
1 = Der Status automatisch/manuell der angegebenen Eine-zu Viele Verknüpfung ist der, welcher in den Verknüpfungseigenschaften der Designumgebung festgelegt und nicht per Programmierung verändert wurde. | |
2 = Die Eine-zu-Viele Verknüpfung ist für den Prozess manuell.. | |
3 = Die Eine-zu-Viele Verknüpfung ist für den Prozess automatisch. |
Sie können die Werte, welche in den Parametern Eine und Viele zurückgegeben werden, mit den Konstanten unter dem Thema "Verknüpfungen" vergleichen:
Konstante | Typ | Wert |
No relation | Lange Ganzzahl | 0 |
Structure configuration | Lange Ganzzahl | 1 |
Manual | Lange Ganzzahl | 2 |
Automatic | Lange Ganzzahl | 3 |
Mit dem optionalen Parameter * können Sie das Lesen des aktuellen Status erzwingen, auch wenn er nicht per Programmierung geändert wurde. Das heißt, mit dem Parameter * kann in den Parametern Eine und Viele nur der Wert 2 oder 3 zurückgegeben werden.
Beispiel
Nehmen wir folgende Struktur:
Die Verknüpfung vom Feld [Angestellte]'Firma zum Feld [Firma]Name hat folgende Eigenschaften:
Nachfolgender Code zeigt die verschiedenen Möglichkeiten mit den Befehlen GET FIELD RELATION und SET FIELD RELATION und ihre Auswirkung:
GET AUTOMATIC RELATIONS(one;many) `gibt Falsch, Falsch zurück GET FIELD RELATION([Angestellte]Firma;one;many) `gibt 1,1 zurück GET FIELD RELATION([Angestellte]Firma;one;many;*) `gibt 3,2 zurück SET FIELD RELATION ([Angestellte]Firma;2;0) `Setzt die Viele-zu-Eine Verknüpfung auf manuell GET FIELD RELATION([Angestellte]Firma;one;many) `gibt 2,1 zurück GET FIELD RELATION([Angestellte]Firma;one;many;*) `gibt 2, 2 zurück SET FIELD RELATION ([Angestellte]Firma;1;0) `Stellt für die Viele-zu-Eine Verknüpfung den in der `Designumgebung definierten Parameter wieder her GET FIELD RELATION([Angestellte]Firma;one;many) `gibt 1,1 zurück GET FIELD RELATION([Angestellte]Firma;one;many;*) `gibt 3,2 zurück SET AUTOMATIC RELATIONS(True;True) `Setzt alle Verknüpfungen aller Tabellen auf automatisch GET AUTOMATIC RELATIONS(one;many) `gibt Wahr, Wahr zurück GET FIELD RELATION([Angestellte]Firma;one;many) `gibt 1,1 zurück GET FIELD RELATION([Angestellte]Firma;one;many;*) `gibt 3,3 zurück
Referenz
GET AUTOMATIC RELATIONS, GET RELATION PROPERTIES, SET AUTOMATIC RELATIONS, SET FIELD RELATION.