Version 3
RELATE MANY (Eine-Tabelle | Feld)
Parameter | Typ | Beschreibung | |
Eine-Tabelle | Feld | Tabelle | Feld | Tabelle bzw. Feld, die die Verknüpfungen erhält |
Beschreibung
RELATE MANY hat zwei Syntaxmöglichkeiten:
Die erste Syntax, RELATE MANY(Eine-Tabelle), lädt die automatisch zurückgehenden Verknüpfungen, welche auf die Tabelle Eine-Tabelle zeigen. Sie ändert die aktuelle Auswahl aller Tabellen, von denen eine Verknüpfung auf Eine-Tabelle geht. Eine-Tabelle ist optional. Wird dieser Parameter nicht angegeben, bezieht sich RELATE MANY auf die Haupttabelle.
Die zweite Syntax, RELATE MANY(Eine-Feld), lädt die zurückgehenden Verknüpfungen, die auf Eine-Feld zeigen. Diese Verknüpfung kann automatisch oder nicht automatisch sein. Sie ändert nur die Auswahl der Tabellen, die mit Eine-Feld verbunden sind. Die verknüpften Datensätze werden die aktuelle Auswahl für die Viele-Tabelle.
Beispiel
Im folgenden Beispiel sind drei Tabellen über automatische Verknüpfung miteinander verbunden. Die beiden Tabellen [Mitarbeiter] und [Artikel] haben eine Viele-Zu-Eine Verknüpfung zur Tabelle [Firmen].
Das Formular für die Tabelle [Firmen] zeigt die verknüpften Datensätze aus den beiden anderen Tabellen [Mitarbeiter] und [Artikel] an.
Sobald die Formulare für Mitarbeiter und Artikel angezeigt werden, werden die verknüpften Datensätze für beide Tabellen geladen und darin zur aktuellen Auswahl.
Mit dem Befehl RELATE MANY laden Sie über Programmierung zurückgehende Verknüpfungen. Dies kann in zwei Fällen nötig sein:
- Sie fügen einen Datensatz durch Programmierung hinzu und wollen die zurückgehende Verknüpfung neu aktivieren.
- Sie wollen Datensätze durch Programmierung bearbeiten.
Beispiel
Folgende Methode durchläuft jeden Datensatz der Tabelle [Firmen] und zeigt für jede Firma eine Meldung an. Sie zeigt die Anzahl der Angestellten in der Firma (die Anzahl der verknüpften Datensätze aus [Mitarbeiter]), sowie die Anzahl der Artikel (die Anzahl der verknüpften Datensätze aus [Artikel]. Im Beispiel wird das Argument zum Befehl ALERT zur besseren Übersicht in mehreren Zeilen angezeigt.
Beachten Sie, dass der Befehl RELATE MANY auch bei automatischen Verknüpfungen benötigt wird.
ALL RECORDS ([Firmen]) ` Wähle alle Datensätze in der Tabelle ORDER BY ([Firmen]; [Firmen]Name) ` Sortiere Datensätze alphabetisch For ($i; 1; Records in table ([Firmen])) ` Durchlaufe einmal pro Datensatz RELATE MANY ([Firmen]Name) ` Wähle verknüpfte Datensätze ALERT ("Firma: "+[Firmen]Name+Char (13)+"Mitarbeiter in Firma: " +String (Records in selection ([Mitarbeiter]))+Char(13) + "Anzahl der Artikel: " + String (Records in selection ([Artikel]))) NEXT RECORD ([Firmen]) ` Gehe zum nächsten Datensatz End for
Referenz