Schritt 9: Mehrere Tabellen

Top  Previous  Next

Projekte mit nur einer Tabelle sind eine eher langweilige Angelegenheit. Interessant wird es, wenn man mit mehreren verknüpften Tabellen arbeitet. Aus diesem Grund enthält unser Beispiel noch eine zweite Tabelle mit Namen und Adressen von Käufern der Fahrzeuge. Die Datei dieser Tabelle heißt Kunden.dat und ist ganz einfach in das bestehende Projekt zu integrieren.

Schließen Sie das Datenfenster und wählen Sie Datei/Projektelement hinzufügen... oder einfach Hinzufügen/Tabelle... im Kontextmenü des Projektnavigators. Im bereits bekannten Dateiauswahldialog selektieren Sie die Datei Kunden.dat und bestätigen die Eingabe. Daraufhin wird ein weiterer Ordner für die zusätzliche Tabelle an das Ende des Projektes angefügt. Der Ordner enthält auch gleich die neue Tabelle.

Mit einer Tabelle alleine kann man zwar schon einiges anfangen, doch wie bereits gesagt mehr Übersicht bei der Datenpflege bietet ein Formular. Und genau dieses ist wiederum im Projektverzeichnis unseres Beispiels zu finden und kann mit Hinzufügen/Formular... leicht eingebunden werden. Vergewissern Sie sich zuvor, dass im Projektnavigator der neu hinzugefügte Ordner Kunden oder eines der darin enthaltenen Projektelemente selektiert ist. Wählen Sie dann im Dateiauswahldialog unter Dateityp TurboDB Formular (*.frm) aus und öffnen Sie die Datei Kunden.frm. Nun erscheint das Formular-Symbol mit dem Titel Kunden am Ende des Projektes. Wenn Ihnen dieser Titel nicht gefällt, ändern Sie ihn in den Eigenschaften im im Objektinspektor.

Öffnen Sie mit einem Doppelklick das hinzugefügte Formular der Tabelle Kunden und schalten Sie mit Bearbeiten/Datensätze ändern den Eingabemodus ein. Hier möchten wir Ihre Aufmerksamkeit auf das Feld Fahrzeug lenken. Die Einträge in diesem Feld werden Ihnen bekannt vorkommen; es sind Verweise auf die Tabelle KFZ, und sie geben an, welchen Fahrzeugtyp der entsprechende Kunde erworben hat.

Das Datenfeld Fahrzeug ist allerdings kein gewöhnliches Datenfeld. Es handelt sich um einen speziellen Feldtyp zum Herstellen von Verknüpfungen zwischen Tabellen. Sein Name ist Koppelfeld, weil es einen Datensatz einer anderen Tabelle an einen Datensatz der eigenen Tabelle ankoppelt. Koppelfelder sind Bestandteil eines innovativen Systems zur Automatisierung von Tabellenverknüpfungen, dem ADL-System (Automatic Data Link). Die Funktionsweise dieses Systems möchten wir Ihnen nun anhand des Feldes Fahrzeug demonstrieren.

Fokussieren Sie dieses Feld und drücken Sie dann [F4] oder den Schalter Tut_BrowseButton. Dadurch öffnet sich ein zweites Datenfenster, diesmal für die Tabelle KFZ. Der angekoppelte Datensatz (falls einer angekoppelt war) ist selektiert. Durch ein spezielles Bedienfeld am unteren Fensterrand weist sich das Datenfenster als ADL-Fenster aus. Ganz links finden Sie die Information: Datensatz für 'Fahrzeug'. Datensatz selektieren und übernehmen. Daneben die drei Schalter NeuOk und Abbrechen. Selektieren Sie einen beliebigen Datensatz und klicken Sie auf Ok. Das ADL-Fenster wird geschlossen und im Feld Fahrzeug des Ausgangs-Formulars steht der neue Eintrag.

 

G

Dieser Mechanismus ist nur dann aktiviert, wenn das Datenfenster auf Datensätze ändern oder Neue Datensätze eingeben geschaltet ist.

 

Nun wollen wir es mal andersherum versuchen. Das Feld Fahrzeug hat einen weißen Hintergrund, Sie können also etwas eintippen. Versuchen Sie z.B. Fiat und bestätigen Sie mit [Enter] Ein Fiat ist in der Tabelle KFZ noch nicht enthalten, deshalb öffnet sich wieder das ADL-Fenster von KFZ mit der Meldung Eintrag für 'Fiat' selektieren oder neu eingeben und übernehmen. Drücken Sie auf den Schalter Neueingabe, und ein neuer Datensatz wird angelegt. Tragen Sie in diesen die Informationen für den neuen Fahrzeugtyp in die entsprechenden Felder ein. Wenn alle Angaben eingetragen sind, betätigen Sie den Schalter Ok,  um das ADL-Fenster zu schließen. Ihr neuer Fiat findet sich nun im Feld Fahrzeug des Formulars Kunden. Wie Sie sehen, nimmt Ihnen das ADL-System bei der Eingabe in verknüpfte Tabellen so viel Arbeit ab, wie es einem Programm nur irgend möglich ist.

 

Tut_09_ADLDialog

Abbildung:Ein ADL-Fenster ist ein modales Datenfenster mit einem zusätzlichen Informations-Panel zur Verknüpfung von Datensätzen

 

Neben dem Koppelfeld, das ja immer nur einen Datensatz der anderen Tabelle ankoppeln kann, gibt es noch Relationsfelder, die beliebig viele Verknüpfungen herstellen können. Solche Felder eignen sich besonders gut für Stichwortlisten in Literaturdatenbanken und werden im Kapitel Die Automatic Data Link Technologie ausführlich beschrieben.

Für den Augenblick möchten wir nur noch einen kurzen Blick auf die Funktionsweise des ADL-Systems werfen. Wenn Sie kein Interesse an der Theorie haben, können Sie den Rest dieses Abschnitts überspringen. Falls Sie dagegen etwas mehr wissen wollen, starten Sie nun den Tabellen Designer für die Tabelle Kunden über den Menüpunkt Entwerfen des Kontextmenüs das erscheint, wenn Sie das Tabellensymbol rechtsklicken oder einem Klick auf die Tabelle gefolgt von einem Klick auf den Entwerfen-Schalter im Projektnavigator. Auch wenn Sie keine Änderungen an der Tabelle vornehmen wollen, ist dieses Dialogfenster eine gute Möglichkeit, den Aufbau von Tabellen zu untersuchen. Er enthält auf der linken Seite eine Liste aller Tabellenspalten.

Selektieren Sie hier den Eintrag Fahrzeug. Auf der rechten Seite sehen Sie die Beschreibung einer Kopplungs-Spalte. Sie hat wie alle Spalten einen Namen und als einzige weitere Information den Namen der angekoppelten Tabelle: KFZ. Indem Sie Abbruch drücken, verlassen Sie den Tabellen Designer ohne Änderungen.

Die Tabelle KFZ wiederum trägt Ihren Teil zur Kopplung durch die Spalte Laufende_Nummer bei. Der Inhalt dieser speziellen Spalte ist eine Zahl zwischen eins und zwei Milliarden und wird von TurboDB Studio für jeden Datensatz ermittelt und automatisch eingetragen. Vor allen Dingen ist dabei gewährleistet, dass jeder Datensatz eine andere Nummer trägt. Diese Nummer wiederum wird im Koppelfeld der Tabelle Kunden abgespeichert um die Verknüpfung zwischen Kunde und Auto herzustellen. Damit das Koppelfeld im Formular Kunden keine für den Benutzer nichtssagende Zahl darstellt, enthält die Definition der Spalte Laufende_Nummer in der Tabelle KFZ noch die Angabe Anzeige in verknüpften Tabellen. Hier wurde festgelegt, dass das Koppelfeld die Bezeichnung und das Modelljahr des angekoppelten Fahrzeuges anzeigen soll.