4D v16.3

GET FIELD RELATION

Home

 
4D v16.3
GET FIELD RELATION

GET FIELD RELATION 


 

GET FIELD RELATION ( VieleFeld ; Eine ; Viele {; *} )  
Parameter Typ   Beschreibung
VieleFeld  Feld in Feld, wo die Verknüpfung startet
Eine  Lange Ganzzahl in Status der Viele-zu-Eine Verknüpfung
Viele  Lange Ganzzahl in Status der Eine-zu-Viele Verknüpfung
Operator in 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

Der Befehl GET FIELD RELATION prüft, 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
Automatic Lange Ganzzahl 3
Manual Lange Ganzzahl 2
No relation Lange Ganzzahl 0
Structure configuration Lange Ganzzahl 1
  • 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.

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, GET AUTOMATIC RELATIONS und SET FIELD RELATION, Bit Operatoren 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



Siehe auch 

GET AUTOMATIC RELATIONS
GET RELATION PROPERTIES
SET AUTOMATIC RELATIONS
SET FIELD RELATION

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Verknüpfungen
Nummer: 920

This command can be run in preemptive processes

 
GESCHICHTE 

Erstellt: 4D 2004

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)