Version 3
RELATE ONE (Viele-Tabelle | Feld {; Auswahl})
Parameter | Typ | Beschreibung | |
Viele-Tabelle | Feld | Tabelle | Feld | Tabelle bzw. Feld, von der die Verknüpfung | |
ausgeht | |||
Auswahl | Feld | Feld der Tabelle, zu der die Verknüpfung | |
hingeht |
Beschreibung
Der Befehl RELATE ONE hat zwei Syntaxmöglichkeiten.
Die erste Syntax, RELATE ONE(Viele-Tabelle) lädt alle automatischen Verknüpfungen der Tabelle Tabellenname im aktuellen Prozess. Der Befehl lädt für jedes Feld in Viele-Tabelle mit einer automatischen Viele-zu-Eine Verknüpfung den verknüpften Datensatz der dazugehörigen Tabelle. Das ändert für diesen Prozess den aktuellen Datensatz in den verknüpften Tabellen.
Die zweite Syntax, RELATE ONE(Viele-Feld{;Auswahl}) lädt die Verknüpfung, die vom Datenfeld Viele-Feld ausgeht, d. h., sie sucht und lädt einen Datensatz der Tabelle, auf die sich die Verknüpfung bezieht. Sie muss nicht automatisch sein. Dieser Datensatz wird zum aktuellen Datensatz der verknüpften Tabelle. Enthält das aktuelle Formular Felder der aufgerufenen Tabelle, werden diese durch den Aufruf RELATE ONE aktualisiert.
Der optionale Parameter Auswahl kann nur angegeben werden, wenn Viele-Feld vom Typ alphanumerisch ist. Bei einer nicht automatischen Verknüpfung müssen Sie diesen Parameter angeben. Er muss ein Feld der Tabelle sein, auf welche die Verknüpfung zeigt. Auswahl muss vom Typ Alpha, Numerisch, Datum, Zeit oder Boolean sein; es kann weder vom Typ Text, Bild, BLOB, noch ein Unterdatenfeld sein.
Findet 4D beim Aufruf der Verknüpfung mehrere mögliche Datensätze, erscheint ein Fenster mit Werten des Aufruffeldes und des Feldes Auswahl. In dieser Liste können Sie dann den Datensatz auswählen, auf den die Verknüpfung zeigen soll.
Sie finden mehrere Datensätze, wenn Viele-Feld mit dem Joker (@) endet. Das Angeben von Auswahl hat denselben Effekt wie die Wahl automatischer Joker im Fenster Verknüpfungseigenschaften. Weitere Informationen dazu finden Sie im Handbuch 4D Designmodus.
RELATE ONE funktioniert auch mit Verknüpfungen zu Untertabellen. Sie arbeitet jedoch nur korrekt, wenn eine Verknüpfung zur Muttertabelle und zum verknüpften Datenfeld der Untertabelle besteht. Bei einer Verknüpfung zu einem Unterdatensatz müssen Sie mit RELATE ONE erst den verknüpften Datensatz in den Speicher laden, dann RELATE ONE erneut für die Untertabelle aufrufen.
Beispiel
Wir gehen aus von einer Tabelle[Rechnung] verknüpft mit der Tabelle[Kunden] mit zwei manuellen Verknüpfungen. Die erste geht von [Rechnung]stellen_an zu [Kunden]Nr, die zweite von [Rechnung]liefern_an zu [Kunden]Nr.
Da beide Verknüpfungen zur selben Tabelle [Kunden] gehen, können Sie nicht gleichzeitig die Adresse für die Rechnung und die Adresse für die Lieferung erhalten. Deshalb werden beide Adressen in einem Formular in Variablen gesetzt und jeweils RELATE ONE aufgerufen. Würden stattdessen die Datenfelder von [Kunden] angezeigt, würden nur die Daten von einer der beiden Verknüpfungen angezeigt.
Im folgenden sehen Sie zwei Objektmethoden für die Datenfelder [Rechnung]stellen_an und [Rechnung]liefern_an. Sie werden bei der Dateneingabe ausgeführt.
Die Objektmethode für das Datenfeld [Rechnung]stellen_an:
RELATE ONE ([Rechnung]stellen_an) vStraße1 := [Kunden]Straße vStadt1 := [Kunden]Stadt vLand1 := [Kunden]LKZ vPLZ1 := [Kunden]PLZ
Die Objektmethode für das Datenfeld [Rechnung]liefern_an:
RELATE ONE ([Rechnung]liefern_an) vStraße2 := [Kunden]Straße vStadt2 := [Kunden]Stadt vLand2 := [Kunden]LKZ vPLZ2 := [Kunden]PLZ
Referenz