Beispiel Datenstruktur Adressverwaltung
Datendiagramm (Ausschnitt)
Soll eine Information, die auf einer anderen Tabelle liegt, geladen werden, muss die Verbindung zwischen den Tabellen hergestellt werden. Die Darstellung zeigt die Verbindung der verschiedenen Tabellen bei der Adresse:
Beispielsweise wenn der Vor- und Nachname einer Person ab der Adresse gezogen werden soll, muss die Adresstabelle mit der korrekten Personenadresse geladen werden.
Dazu gibt es unterschiedliche Möglichkeiten:
Eine 1:1-Beziehung oder 1:n-Beziehung
Eine Adresse hat genau auch eine Person hinterlegt. Es ist also eine 1:1-Beziehung. Bei Feldern mit _ID kann der Befehl PRM_RelateOne genutzt werden: PRM_RelateOne ("[geladene Tabelle]_ID-Feld") PRM_RelateOne ("[Beleg]Adresse_ID") Von der Tabelle Beleg wird der dazugehörende Datensatz von der Tabelle Adresse geladen. PRM_RelateOne ("[Adresse]Korrespondenzsprache_ID") Von der Tabelle Beleg wird der dazugehörende Datensatz von der Tabelle Adresse geladen. Mit QUERY können 1:1- und auch 1:n-Beziehungen geladen werden. QUERY(zu welcher Tabelle soll die Verbindung hergestellt werden; der ID-Abgleich ID=ID) Vom Dossier aus die Lieferadresse laden (1:1): QUERY([Adresse];[Adresse]ID=[Auftragsdossier]Lieferadresse_ID) Vom Beleg alle Belegzeilen laden (1:n): QUERY([Belegzeile];[Belegzeile]Beleg_ID=[Beleg]ID)
Selection to selection (mehrere zu mehreren)
Man hat eine Tabelle mit mehreren Datensätzen geladen (z.B. LLN-Journale) und möchte alle Lagerlaufnummern, welche zu den geladenen Journaleinträgen gehören:
PRM_Selection_ToSelection ("[LLN_Journal]Lagerlaufnummer_ID";"[Lagerlaufnummer]ID")