Verknüpfungen
Verknüpfungen Verknüpfen von Datensätzen
- Siehe: Befehlsgruppen , Befehlsliste , Verknüpfung bearbeiten , Möglichkeiten der Datensatzfilterung (Blog)
Ausgehend von einem Datensatz können mit der Verknüpfung Datensätze in einer anderen Datei gelesen werden. Verknüpfungen sind Bestandteile der Datenstruktur und werden im Datenstruktureditor über Verknüpfung bearbeiten erstellt und verändert.
Ein Beispiel für die Verwendung von Verknüpfungen ist die Kunden-Ansprechpartner-Relation. Dabei werden die Kunden und die Ansprechpartner in unterschiedlichen Dateien gespeichert. Durch die Verknüpfung können ausgehend von einem Kunden alle seine Ansprechpartner gelesen werden.
Voraussetzungen für eine Verknüpfung
Um eine Verknüpfung verwenden zu können, werden eine Quell-Datei und eine Ziel-Datei benötigt. Quelle und Ziel einer Verknüpfung können nicht die gleiche Datei sein. In der Ziel-Datei muss eine Information aus der Quell-Datei vorliegen (der Fremdschlüssel) und dieses Feld muss das erste Feld eines Schlüssels sein. Bei einer 1:n-Verknüpfung ist der Schlüssel mehrdeutig, bei einer 1:1-Verknüpfung eindeutig. In der Quell-Datei kann dann eine Verknüpfung erstellt werden. In dieser werden die Ziel-Datei und der Schlüssel angegeben. Die Verknüpfungsfelder befinden sich in der Quell-Datei und bestimmen die Schlüsselwerte für den Schlüssel in der Ziel-Datei.
Beispiel:
Kunden und Ansprechpartner sind in den Dateien tblCstCustomer und tblConContact gespeichert. Die Kunden werden über eine Kundennummer fiCstId eindeutig identifiziert. Damit eine Verknüpfung erstellt werden kann, wird die Kundennummer ebenfalls in der Datei der Ansprechpartner in dem Feld fiConCstId gespeichert. Für dieses Feld wird ein Schlüssel keyConCstId definiert (siehe Schlüssel bearbeiten ). Der Schlüssel ist mehrdeutig, da ein Kunde mehrere Ansprechpartner haben kann (1:n-Relation).

In der Datei tblCstCustomer wird die Verknüpfung lnkCstCon angelegt. In die Ziel-Datei tblConContact wird über den Schlüssel keyConCstId verknüpft. Als Verknüpfungsfeld wird fiCstId angegeben (siehe Verknüpfung bearbeiten ).
Besteht der Schlüssel in der Ziel-Datei aus mehreren Schlüsselfeldern, können auch mehrere Verknüpfungsfelder angegeben werden. Der Schlüsselwert wird in der Reihenfolge der Verknüpfungsfelder gebildet. Die verknüpften Datensätze werden in der Reihenfolge des Schlüssels gelesen. In der Verknüpfung können Felder angegeben werden, die nur für die Positionierung innerhalb der Reihenfolge verwendet werden (siehe Verknüpfung bearbeiten ), diese schränken den Zugriff nicht ein.
Zugriff auf verknüpfte Datensätze
Der Zugriff auf verknüpfte Datensätze erfolgt immer in zwei Schritten. Zunächst muss ein Datensatz in der Quell-Datei gelesen bzw. die Verknüpfungsfelder gesetzt werden. Die Datensätze können anschließend über die Verknüpfung in der Ziel-Datei gelesen werden. Verknüpfte Datensätze können in den Objekten RecList , RecListPopup und PrintDocRecord angezeigt werden (siehe Eigenschaft DbLinkFileNo). Prozedural erfolgt der Zugriff mit der Anweisung RecLink (). Es werden nur die Datensätze in der Ziel-Datei ermittelt, die den gleichen Schlüsselwert besitzen, der in den Verknüpfungsfeldern der Quell-Datei angegeben ist.
Beispiel:
Folgende Schleife liest alle Ansprechpartner eines Kunden:
...
fiCstId # 1; // Verknüpfungsfeld in der Quelldatei
for tErr # RecLink(tblConContact, tblCstCustomer, lnkCstCon, _RecFirst);
loop tErr # RecLink(tblConContact, tblCstCustomer, lnkCstCon, _RecNext);
while (tErr < _rNoKey)
{
...
}
...
Verwendung von Verknüpfungen
Neben der Abbildung von Relationen zwischen Datenbanktabellen kann die Verknüpfung zur Einschränkung der zu lesenden Datensätze verwendet werden. Mit Hilfe der Verknüpfung können alle Datensätze in der Zieldatei gelesen werden, die einen bestimmten Schlüsselwert besitzen. Die Felder müssen in einem Schlüssel der Ziel-Datei angegeben sein (siehe auch Filtern und Selektionen ).
| Bedingungen | -> | Objekt |
|---|---|---|
| Alle einschränkenden Felder befinden sich in einem Schlüssel. Es wird nur auf einen Schlüsselwert eingeschränkt. | -> | Verknüpfung |
| Alle einschränkenden Felder befinden sich in einem Schlüssel. Es gibt mehrere gültige Schlüsselwerte (zum Beispiel einen Bereich). Die Bediengungen müssen nicht geklammert werden. | -> | Filter |
| - | -> | Selektion |
n:m-Verknüpfungen kommen vergleichsweise zu 1:n- und 1:1-Verknüpfungen selten vor. Sie können durch zwei 1:n-Verknüpfungen abgebildet werden. Dazu wird in einer weiteren Tabelle eine Verbindung zwischen zwei 1:n-Verknüpfungen definiert.

Auf diese Weise können zum Beispiel alle Artikel, die in einem Jahr verkauft wurden, über Verknüpfungen ermittelt werden. Wird diese Information nur selten benötigt, ist eine Selektion besser geeignet.
Befehle
Konstanten