Dazu gibt es eine Tabelle, wo Kontakte gespeichert werden - die Verknüpfung geschieht über den Primärschlüssel der Adress-Tabelle. Ich möchte nun in einem anderen DBGrid die Kontatdaten zu dem entsprechend im Adress-Grid selektierten Datensatz anzeigen. Beim Wechsel der selektierten Adresse sollen logischerweise auch die Daten der Kontakte wechseln.
Eine andere Möglichkeit wäre, ein View in Firebird anzulegen, das schon alles enthält, was du darstellen möchtest. Ich hab hier z.B. eine Datenbank, in der Einträge einer Tabelle die Integer-Spalte Kategorie enthalten, die auf die Tabelle Kategorien verweist. Um ein View zu machen:
Code:
CREATE OR ALTER VIEW V_SAMMLUNG(
ID,
TITEL,
KATEGORIE,
INHALT)
AS
select
SAMMLUNG.ID_SAMMLUNG,
SAMMLUNG.TITEL,
KATEGORIEN.KATEGORIE,
SAMMLUNG.BESCHREIBUNG
from SAMMLUNG
inner join KATEGORIEN on KATEGORIEN.ID_KATEGORIEN = SAMMLUNG.KATEGORIE
;
Dieses View kann ich genauso mit einem
Query öffnen wie eine Tabelle. Dabei setze ich im
Query ReadOnly auf True. Und ich muss mich nicht mehr um Verknüpfungen im Delphi-Programm kümmern.