4D v16.3

RELATE ONE SELECTION

Home

 
4D v16.3
RELATE ONE SELECTION

RELATE ONE SELECTION 


 

RELATE ONE SELECTION ( Viele-Tabelle ; Eine-Tabelle ) 
Parameter Typ   Beschreibung
Viele-Tabelle  Tabelle in Name der Viele-Tabelle (Start der Verknüpfung)
Eine-Tabelle  Tabelle in Name der Eine-Tabelle (Ende der Verknüpfung)

Der Befehl RELATE ONE SELECTION erstellt eine neue Auswahl an Datensätzen für die Tabelle Eine-Tabelle, ausgehend von der Auswahl in der Tabelle Viele-Tabelle und lädt den ersten Datensatz der neuen Auswahl als den aktuellen Datensatz.

Dieser Befehl kann nur verwendet werden, wenn eine Verknüpfung von der Viele-Tabelle zur Eine-Tabelle existiert. RELATE ONE SELECTION funktioniert auch auf mehreren Verknüpfungsebenen. Zwischen der Viele-Tabelle und der Eine-Tabelle können mehrere verknüpfte Tabellen liegen. Die Verknüpfungen können manuell oder automatisch sein.

RELATE ONE SELECTION verwendet den "kürzesten" Pfad, um von der Start- zur Zieltabelle zu gehen. Sind mehrere gleich lange Pfade vorhanden und Sie wollen den verwendeten Pfad prüfen, müssen Sie den Befehl SET FIELD RELATION verwenden.

Folgendes Beispiel findet alle Kunden, deren Rechnungen heute fällig sind.

In der Tabelle [Customers] wird eine Auswahl erstellt, die von den in der Tabelle [Invoices] ausgewählten Datensätzen ausgeht:

 CREATE EMPTY SET([Customers];"Zahlung ist fällig")
 QUERY([Invoices];[Invoices]DueDate=Current date)
 While(Not(End selection([Invoices])))
    RELATE ONE([Invoices]CustID)
    ADD TO SET([Customers];"Zahlung ist fällig")
    NEXT RECORD([Invoices])
 End while

Folgende Technik kommt mit RELATE ONE SELECTION zum gleichen Ergebnis:

 QUERY([Invoices];[Invoices]DueDate=Current date)
 RELATE ONE SELECTION([Invoices];[Customers])

Hinweis: Seit Version 11 lässt sich dieser Code ohne Performance-Verlust auch folgendermaßen schreiben:

 QUERY([Customers];[Invoices]DueDate=Current date)



Siehe auch 

Einführung in Mengen
QUERY
RELATE MANY SELECTION
RELATE ONE

 
EIGENSCHAFTEN 

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

Dieser Befehl ändert den aktuellen DatensatzDieser Befehl ändert die aktuelle AuswahlThis command can be run in preemptive processes

 
GESCHICHTE 

Geändert: 4D v6

 
ARTIKELVERWENDUNG

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