4D v14.3

RELATE ONE SELECTION

Home

 
4D v14.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, verwendet der Befehl den Pfad, der in der Reihenfolge der erstellten Felder in der Starttabelle zuerst gefunden wird.

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)

 
EIGENSCHAFTEN 

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

Dieser Befehl ändert den aktuellen DatensatzDieser Befehl ändert die aktuelle Auswahl

 
GESCHICHTE 

Geändert: 4D v6

 
SIEHE AUCH 

Einführung in Mengen
QUERY
RELATE MANY SELECTION
RELATE ONE

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v12.4)
4D Programmiersprache ( 4D v11 SQL Release 6)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v13.5)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)