Start |  Tabelle | Tabelle 2 |  Abfrage |  mit Bedingung |  Formular |  Formular plus |  Bericht |  Menü |  Startmakro |  Verpacken |  Absichern

zurück zur ersten Tabelle

Zweite Tabelle

zur Abfrage

Wozu eine zweite Tabelle |  Tabelle der Servicebetriebe |  Verknüpfung der Tabellen vorbereiten



Wozu eine zweite Tabelle?

Unsere teuren Geräte sollen ja Geld verdienen. Manchmal geht eines aber kaputt. Was tut man nun?
Da wir eine Datenbank betreiben, können wir uns natürlich mühelos aufschreiben welcher Servicebetrieb zuständig ist.
Was müssen wir von diesem Betrieb wissen? Name, Anschrift, Telefon-Nr., Fax-Nr., E-Mail-Adresse, vielleicht auch den Namen unseres Lieblingsmonteurs. Und wohin damit? Es gibt zwei Möglichkeiten:

Die erste und schlechtere Möglichkeit
Man erweitert die Gerätetabelle mit den erforderlichen Feldern, was problemlos geht. Achtung, Feldnamen dürfen innerhalb einer Tabelle nur einmal vorkommen!
Dann trägt man die Daten seines Servicebetriebes ein und fertig ist die Laube.
Allerdings, die Geschäfte gehen gut. Wir erweitern die Firma um, sagen wir 200 Stereomikroskope der Typen 001 bis 200. Die werden zufällig alle von der Firma XYZ gewartet. Wir schreiben also nun 200 mal alle Daten dieser Firma, die Datenbank explodiert geradezu in ihrem Umfang, allerdings schön langsam, denn das Schreiben dauert ...

Die zweite und bessere Möglichkeit
Man legt eine zweite Tabelle "Service" an, die die Daten aller denkbaren Servicebetriebe speichert. Jeder Betrieb (= Datensatz) erhält eine eindeutige Nummer (SNum vom Typ Autonummer). In der Gerätetabelle müssten wir ein Feld vorsehen, das die Service-Betriebsnummer speichern kann. Wenn wir clever, clever dieses Feld "SNum" nennen, was nicht verboten ist, weil es ja eine andere Tabelle ist, wird später die Arbeit einfacher.

Gleich, wenn die Service-Tabelle gefüllt ist, könnten wir unsere 200 Mikroskope in die Gerätetabelle eintragen. Wenn die Firma XYZ die Nummer 23 hat, wird bei jedem Mikroskop in der Gerätetabelle ins Feld, zunächst noch von Hand, eine 23 geschrieben. Fertig.

zum Seitenbeginn

Schritt 1: Die Servicebetriebe müssen aufgelistet werden

Weil es mit der Gerätetabelle so fix ging, geht es mit der Service-Tabelle noch fixer. Die Servicebetriebe, die man ansprechen muß, denen man nach getaner Reparatur eine Rechnung begleichen muß, könnten in einer Art Adresskartei aufgelistet werden. Damit kann man nämlich tolle Sachen machen, z.B. automatisch Auftragsschreiben oder Überweisungen vom Rechner erstellen lassen. Die Adressen sollen wiederum "autogezählt" werden, der Name dieser Nummer soll, siehe oben und weil es noch andere Nummern geben wird, SNum lauten und an Servicefirmen-Nummer erinnern.

Tabellenentwurf

Anmerkung 1
Die neu angelegte Servicetabelle heißt zunächst wieder "Tabelle1", solange, bis sie -dringende Empfehlung- beim Verlassen des Entwurfs ihren Wiederkenn-Namen "Service" erhält. Das Bild hier oben verrät in der Fensterzeile, daß dieser Tabellenentwurf seinen Namen schon erhalten hat.
Anmerkung 2
Bei "Telefon" ist die Nummer gemeint, die an sich immer eine Zahl ist, als Datentyp aber Text gewählt. Der Grund, Zahlen können nur wie Zahlen geschrieben werden. Bei Telefonnummern schiebt man gerne einen Slash oder ein Leerzeichen ein, um Vorwahlen abzutrennen. Das geht nur mit "Text".
Anmerkung 3
Im unteren Fenster verbergen sich viele, sogar einige nützliche Optionen.
Im Bild etwa wurde festgelegt, daß die Telefonnummer, als wichtigste Angabe zum Servicebetrieb jedenfalls angegeben werden muß (Eingabe erforderlich = Ja). Sonst wird der Datensatz nicht in die Datenbank übernommen.
Besondere Bedeutung haben auch Eingabemasken. Mit ihnen könnte man etwa sicherstellen, daß die Bankleitzahl nur mit Ziffern und der richtigen Stellenzahl akzeptiert wird.
Man spiele ruhig mit den Optionen, wobei die Hilfe darüber aufklären kann, was man gerade so bewirkt oder warum nach solchen Spielereien die Datenbank nicht mehr funktioniert.

Auch diese Firmen-Tabelle sollte schon mal Einträge erhalten, denn es soll ja mit ihrer Hilfe die Datenbank weiter ausgebaut werden.

Service-Firmentabelle

Was wir als Nächstes benötigen heißt Abfrage und bietet die Möglichkeit, die beiden vorhandenen Tabellen zu verknüpfen.

zum Seitenbeginn

Schritt 2: Verknüpfung der Tabellen vorbereiten

Eine Kleinigkeit ist noch zu erledigen, bevor die beiden Tabellen gemeinsam genutzt werden können. Wir brauchen in der Tabelle "Geräte" das Feld, welches, wie oben erläutert, jedem Gerät die Nummer des Servicebetriebs zuordnet.
Erforderlich ist eine nachträgliche Veränderung der Tabelle, die prinzipiell immer erlaubt ist.
Allerdings können nachträgliche Veränderungen schlimme Folgen haben. Dazu gleich mehr.

Im Moment ist es harmlos: Entwurfsansicht der Tabelle "Geräte" öffnen, Feld eintragen. Es sollt, siehe oben, "SNum" genannt werden. Der Datentyp muß "Zahl" sein!
Dann wird die Entwurfsansicht geschlossen. Und schon folgt eine Abfrage, die so wie unten oder, je nach Art des Schließens auch anders aussieht:

Abfrage 1

Beantwortet man sie mit "Ja", passiert hier nichts weiter. Wer Lust hat, und lernbegierig ist, sollte dem SNum-Feld probeweise den Datentyp "Text" geben und etwas in die Tabellenzellen schreiben, etwa "Eins", "Zwei" und "Drei". Dann wieder in die Entwurfsansicht wechseln und den Datentyp von SNum auf Zahl zurücksetzen. Jetzt passiert's. Das Speichern wird bejaht und dann folgt:

Alarm!

Sagen Sie "Ja" und begucken die Liste. Die Texte sind weg!
Merke: Änderungen an der Tabellenstruktur können zu schmerzhaftem Datenverlust führen!

Nach dieser Erkenntnis bleiben noch schnell in die Geräteliste die Nummern vorhandener Servicebetriebe, also in meinem Beispiel 1 bis 6, wild verteilt, einzutragen, damit die Arbeit weiter gehen kann. Fertig.

zurück zur ersten Tabellezum Seitenbeginnnächste Seite: Abfrage

Kurs-Unterlagen Informatik
© Rolf Hirte, zuletzt bearbeitet: 14.09.2002