Verknüpfungen

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

Version 6.0


Die Befehle der folgenden Abschnitte, insbesondere RELATE ONE und RELATE MANY erstellen und verwalten automatische und manuelle Verknüpfungen zwischen Tabellen. Bevor Sie diese Befehle verwenden, lesen Sie im Handbuch 4th Dimension Designmodus nach, wie Sie Verknüpfungen zwischen Tabellen anlegen.

Operationen, die Verknüpfung aufrufen


Nachstehend finden Sie die Liste der Operationen, die automatisch eine Verknüpfung aufrufen und, gemäß der gewählten Verknüpfungsart, die aktuelle Auswahl der verknüpften Tabelle ändern:

Daten eingeben

Datensätze auf dem Bildschirm in Ausgabeformularen anzeigen

Berichte erstellen

Operationen, wie Such- und Sortierläufe oder Formeln auf Auswahl anwenden.

Befehle, wie QUERY oder APPLY TO SELECTION.

Zur Leistungsoptimierung macht 4th Dimension beim Einrichten von automatischen Verknüpfungen nur einen Datensatz zum aktuellen Datensatz für die Tabelle. Der Datensatz wird für jede der oben aufgelisteten Operationen folgendermaßen geladen:

Wählt eine Verknüpfung nur einen Datensatz aus einer verknüpften Tabelle, wird dieser Datensatz von der Festplatte geladen.

Wählt eine Verknüpfung mehrere Datensätze aus einer verknüpften Tabelle, wird für diese Tabelle eine neue Datensatzauswahl erstellt, der erste Datensatz dieser Auswahl wird von der Festplatte geladen.

Wir nehmen als Beispiel eine Datenbank mit zwei Tabellen, die miteinander verknüpft sind.

Laden Sie einen Datensatz der Tabelle [Mitarbeiter], wird der entsprechende Datensatz der Tabelle [Firmen] geladen. Der Inhalt des Datensatzes der Tabelle [Firmen] steht dem Datensatz der Tabelle [Mitarbeiter] zur Verfügung. Die aktuelle Auswahl der verknüpften Tabelle besteht also aus einem einzigen Datensatz, dem der Firma, zu der der Mitarbeiter gehört.

Wollen Sie einen Datensatz der Tabelle [Firmen] ändern, werden alle Mitarbeiter dieser Firma, die in der Mitarbeitertabelle gespeichert sind, in den Arbeitsspeicher geladen. Die aktuelle Auswahl der verknüpften Tabelle besteht also aus allen Mitarbeitern, die für diese Firma arbeiten.

Eine Verknüpfung kann eine Viele-zu-Eine-Relation oder eine Eine-zu-Viele-Relation sein. Viele Mitarbeiter können zu einer Firma gehören und eine Firma kann viele Mitarbeiter haben.

Es ist nicht immer möglich, dass die Tabelle ein einmaliges Datenfeld enthält, das für die Verknüpfung geeignet ist. So kann beispielsweise in der Tabelle [Firmen] das Datenfeld Name mehrere Firmendatensätze mit demselben Wert haben. Dieses Problem umgehen Sie, indem Sie ein einmaliges Feld einrichten, z.B. die Firmennummer und die Verknüpfung zu diesem Feld ziehen.

Folgende Tabelle zeigt Befehle, die beim Laden von Datensätzen mit automatischen Verknüpfungen arbeiten. Alle Befehle verwenden vorhandene automatische Viele-zu-Eine-Verknüpfungen. Nur die mit Ja gekennzeichneten Befehle verwenden automatische Eine-zu-Viele-Verknüpfungen.

BefehlEine-zu-Viele Relation
ADD RECORDJa
ADD SUBRECORDNein
APPLY TO SELECTIONNein
DISPLAY SELECTIONNein
EXPORT DIFNein
EXPORT SYLKNein
EXPORT TEXTNein
MODIFY RECORDJa
MODIFY SUBRECORDNein
MODIFY SELECTIONJa (bei der Dateneingabe)
ORDER BYNein
ORDER BY FORMULANein
QUERY BY FORMULAJa
QUERY SELECTIONJa
QUERYJa
PRINT LABELNein
PRINT SELECTIONJa
REPORTNein
SELECTION TO ARRAYNein
SELECTION RANGE TO ARRAYNein

Verknüpfungen über Befehle aufrufen


Automatische Verknüpfung heißt nicht, dass ein bzw. mehrere verknüpfte Datensätze für eine Tabelle bereits ausgewählt werden, weil ein Befehl einen Datensatz lädt. In manchem Fällen müssen Sie die verknüpften Datensätze explizit mit den Befehlen RELATE ONE oder RELATE MANY aufrufen, um darauf zugreifen zu können.

Einige der oben aufgeführten Befehle, z.B. die Suchbefehle laden den aktuellen Datensatz nach Beenden des Vorgangs. In diesem Fall wählt der geladene Datensatz nicht automatisch den verknüpften Datensatz. Sie müssen also, wenn Sie auf die verknüpften Daten zugreifen wollen, die Datensätze explizit mit RELATE ONE oder RELATE MANY aufrufen.

Referenz

CREATE RELATED ONE, GET SERIAL PORT MAPPING, OLD RELATED MANY, OLD RELATED ONE, RELATE MANY, RELATE MANY SELECTION, RELATE ONE, RELATE ONE SELECTION, SAVE OLD RELATED ONE, SAVE RELATED ONE, SET AUTOMATIC RELATIONS.


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