GET FIELD RELATION

4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 2004


GET FIELD RELATION (VieleFeld; Eine; Viele{; *})

ParameterTypBeschreibung
VieleFeldDatenfeldFeld, wo die Verknüpfung startet
EineLange GanzzahlStatus der Viele-zu-Eine Verknüpfung
VieleLange GanzzahlStatus 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:

KonstanteTypWert
No relationLange Ganzzahl0
Structure configurationLange Ganzzahl1
ManualLange Ganzzahl2
AutomaticLange Ganzzahl3

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.


4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next