window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Handyverwaltung IV: Mobilfunkgeräte verwalten

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Im vierten Teil der Artikelreihe zum Thema “Handyverwaltung” setzten wir die Arbeit an den Formularen der Lösung fort. Dieser Teil kümmert sich um die Verwaltung der Mobilfunkgeräte. Dazu legen wir wieder ein übersichtsformular und ein Detailformular an. Das Detailformular wird etwas anspruchsvoller, da wir darin auch die zum jeweiligen Mobilfunkgerät gehörende SIM-Karte verwalten wollen.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1706_Handyverwaltung.accdb.

Vorbereitungen

Den Teil des Datenmodells, den wir uns in diesem Teil der Artikelreihe ansehen, finden Sie in Bild 1. Diesmal geht es um die Mobilfunkgeräte, zu denen ja nicht nur Handys, sondern auch Tablets gehören. Nach aktuellem Stand muss man der Tabelle der Mobilfunkgerätearten (tblMobilfunkgeraetearten) ja auch noch Uhren hinzurechnen (Stichwort AppleWatch). Dies ist das erste Lookup-Feld, welches wir bei der Eingabe von Mobilfunkgeräten berücksichtigen müssen.

Der Teil des Datenmodells, um den wir uns in diesem Artikel kümmern

Bild 1: Der Teil des Datenmodells, um den wir uns in diesem Artikel kümmern

Die zweite Art von zusätzlichen Daten betrifft die SIM-Karten, die in den Geräten stecken. Hierbei ist zu berücksichtigen, dass es Geräte gibt, in denen keine SIM-Karte steckt, aber auch SIM-Karten, die in keinem Gerät stecken. Der Regelfall wird aber sein, dass eine SIM-Karte auch einem Gerät zugeordnet ist.

Dem tragen wir durch eine Tabelle Rechnung, die wie eine Verknüpfungstabelle zur Herstellung einer m:n-Beziehung angezeigt wird und die tblMobilfunkgeraeteSIMKarten benannt wird. Aber handelt es sich tatsächlich um eine m:n-Tabelle Immerhin gibt es ja noch eine weitere Einschränkung: jede SIM-Karte kann nämlich nur in einem einzigen Gerät stecken, und jedes Gerät kann auch nur eine SIM-Karte aufnehmen. (Ups: Stimmt das wirklich, oder gibt es vielleicht sogar Geräte, welche mehr als eine SIM-Karte aufnehmen – etwa, um verschiedene Netze abzudecken Wie auch immer: Wir werden diesen Fall außen vor lassen.)

Die Beziehungen zwischen der Tabelle tblMobilfunkgeraeteSIMKarten und den Tabellen tblMobilfunkgeraete und tblSIMKarten sehen im Beziehungen-Fenster wie normale 1:n-Beziehungen aus. Wenn wir allerdings doppelt auf den Beziehungspfeil klicken, erkennen wir beispielsweise im Dialog zum Bearbeiten der Beziehung aus Bild 2, dass hier in der Tat eine 1:1-Beziehung angelegt wurde.

Die Beziehung wird als 1:1-Beziehung eingetragen.

Bild 2: Die Beziehung wird als 1:1-Beziehung eingetragen.

Das ist auch kein Wunder, denn wir haben für die beiden Fremdschlüsselfelder der Verknüpfungstabelle, also für MobilfunkgeraetID und SIMKarteID, nicht etwa einen zusammengesetzten, eindeutigen Index angelegt, sondern jedes Fremdschlüsselfeld für sich mit einem eindeutigen Index versehen. Deshalb legt Access standardmäßig eine 1:1-Beziehung für diese Beziehungen an. Interessant ist jedoch, dass Access diese im Beziehungen-Fenster nicht als 1:1-Beziehung, sondern als 1:n-Beziehungen abbildet.

Erweiterung des Datenmodells

Nun, da wir uns dem Formular für die Mobilfunkgeräte zuwenden wollen, werfen wir einen genauen Blick auf die Tabelle tblMobilfunkgeraete und stellen fest, dass diese doch noch ein wenig mager ausgestattet ist. MobilfunkgeraetID, Bezeichnung, Anschaffungspreis und MobilfunkgeraeteartID sind wohl doch etwas wenig Informationen. Als Erstes fehlt uns der Hersteller des Geräts. Ist es ein iPhone Ein Samsung Hier stellt sich die allerdings die Frage, ob wir den Hersteller gleich mit den Datensätzen der Tabelle tblMobilfunkgeraete verknüpfen wollen. Immerhin gibt es ja auch noch die einzelnen Modelle und Baureihen der verschiedenen Geräte. Wollen wir also den Hersteller in der Tabelle speichern und auch noch die Angabe des Modells Das macht eigentlich keinen Sinn, denn es gibt ja jedes Modell auch nur von einem Hersteller. Wenn wir dann den Hersteller zu den Modellen speichern und nochmals zu den Mobilfunkgeräten, hätten wir redundante Daten, die später zu Inkonsistenzen führen könnten. Dann wäre ein Mobilfunkgerät beispielsweise ein iPhone, aber ein unaufmerksamer Benutzer stellt vielleicht als Hersteller des Geräts Samsung ein.

Also gehen wir noch einen Schritt weiter und fügen der Tabelle tblMobilfunkgeraete zunächst ein Fremschlüsselfeld namens ModellID hinzu, welches seine Daten aus der Tabelle tblModelle bezieht. Die Tabelle tblModelle wiederum enthält beispielsweise Felder mit der Bezeichnung des Modells, der Angabe des Speicherplatzes des Modells und mehr.

Außerdem legen wir hier ein Fremdschlüsselfeld für den Hersteller namens HerstellerID an. Den Hersteller wollen wir aus einer Lookup-Tabelle auswählen, die wir zunächst hinzufügen. Die Tabelle heißt tblHersteller und enthält die Felder HerstellerID, Bezeichnung, Webseite, EMailSupport und TelefonSupport – diese können Sie natürlich nach Bedarf erweitern. Für das Feld Bezeichnung legen wir einen eindeutigen Index fest (siehe Bild 3).

Eindeutiger Index für das Feld Bezeichnung

Bild 3: Eindeutiger Index für das Feld Bezeichnung

Wir können der Tabelle auch gleich einige Datensätze hinzufügen, damit wir etwas Material zum Testen haben (siehe Bild 4).

Datensätze der Tabelle tblHersteller

Bild 4: Datensätze der Tabelle tblHersteller

Mobilfunkgeräteart verschieben

Wenn wir schon dabei sind, einen genauen Blick auf das Datenmodell zu werfen, sollten wir auch noch schauen, ob das Fremdschlüsselfeld MobilfunkgeraeteartID wirklich in die Tabelle tblMobilfunkgeraete gehört. In der Tat sollten wir es wohl auch in die Tabelle tblModelle verschieben, denn sonst hätten wir das gleiche Problem wie mit den Herstellern – ein iPhone ist nun einmal ein Smartphone und kein Tablet.

Genau das wäre aber bei fehlerhafter Eingabe in den aktuellen Stand der Tabelle tblMobilfunkgeraete eine mögliche Kombination. Um uns möglichst wenig Arbeit zu machen, nutzen wir die Zwischenablage, um das Feld zu verschieben: Markieren Sie das Feld MobilfunkgeraeteartID über den Datensatzmarkierer in der Entwurfsansicht der Tabelle tblMobilfunkgeraete, betätigen Sie die Tastenkombination Strg + C, wechseln Sie zum Entwurf der Tabelle tblModelle und fügen Sie die Zeile dort nach vorheriger Markierung der Zielzeile mit der Tastenkombination Strg + V ein. Dies kopiert das Feld mit allen Eigenschaften, also auch mit den Angaben zum Nachschlagefeld. Sie müssen lediglich im Beziehungen-Dialog die alte Beziehung zwischen der Tabelle tblMobilfunkgeraete und tblMobilfunkgeraetearten löschen, bevor Sie das Feld MobilfunkgeraeteartID aus der Tabelle tblMobilfunkgeraete entfernen können. Anschließend fügen Sie die passende Beziehung zwischen dem Feld MobilfunkgeraeteartID der Tabelle tblModelle und dem gleichnamigen Feld der Tabelle tblMobilfunkgeraetearten hinzu.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar