Filmdatenbank, Teil 3: Filme im Detail

In den ersten beiden Teilen der Artikelreihe haben wir das Datenmodell erstellt und die Tabellen mit den Daten aus der IMDB-Datenbank gefüllt. Dabei haben wir uns auf die Daten der Filme aus dem Jahr 2020 beschränkt, weil die Speicherkapazität von zwei Gigabyte für die kompletten Daten nicht ausgereicht hätte. Im dritten Teil der Artikelreihe zum Thema Filmdatenbank erstellen wir die Formulare, mit denen wir die Filme einsehen, nach Filmen und anderen Daten wie Schauspielern et cetera suchen und mit denen wir Filme hinzufügen, löschen oder bearbeiten können.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 2006_Filmdatenbank.accdb.

Hauptformular zum Anzeigen der Daten eines Films

Das erste Formular soll erst einmal die Daten der Tabelle tblFilme anzeigen und frmFilmDetails heißen. Danach erweitern wir das Formular Stück für Stück. Also legen Sie ein neues, leeres Formular an und weisen diesem über die Eigenschaft Datensatzquelle die Tabelle tblFilme zu. Wechseln Sie über den Ribbon-Eintrag Entwurf|Tools|Vorhandene Felder hinzufügen zur Feldliste. Von hier aus ziehen Sie die fünf vorhandenen Felder in den Entwurf des Formulars. Dann passen Sie gegebenenfalls die Positionen und die Größen der Steuerelemente nach Ihren Wünschen an (siehe Bild 1).

Entwurf des Formulars zur Anzeige der Filme

Bild 1: Entwurf des Formulars zur Anzeige der Filme

Außerdem stellen wir noch einige weitere Eigenschaften des Formulars ein:

  • Datensatzmarkierer auf den Wert Nein,
  • Navigationsschaltflächen auf den Wert Nein,
  • Trennlinien auf den Wert Nein,
  • Bildlaufleisten auf Nein und
  • Automatisch zentrieren auf den Wert Ja.

Danach können wir durch einen Wechsel in die Formularansicht bereits den ersten Datensatz anzeigen (siehe Bild 2). Damit der Benutzer nicht durch mehrfaches Betätigen der Tabulatortaste zum nächsten oder vorherigen Datensatz wechseln kann, stellen wir außerdem die Eigenschaft Zyklus auf Aktueller Datensatz ein.

Anzeige der Daten der Tabelle tblFilme

Bild 2: Anzeige der Daten der Tabelle tblFilme

Hinzufügen der Genres

Nun fügen wir ein Unterformular hinzu. Mit diesem sollen die Genres angezeigt werden, denen der aktuelle Film zugeordnet ist. Dazu erstellen wir ein neues Formular namens sfmFilmGenres. Es enthält die Tabelle tblFilmeGenres als Datensatzquelle.

Diesmal ziehen Sie lediglich das Feld GenreID in den Detailbereich des Formularentwurfs. Die Anordnung der Felder spielt diesmal keine Rolle, da wir die Daten in der Datenblattansicht anzeigen wollen. Allein die Beschriftung des Bezeichnungsfeldes passen wir an, und zwar auf Genre: (siehe Bild 3).

Entwurf des Unterformulars für die Genres eines Films

Bild 3: Entwurf des Unterformulars für die Genres eines Films

Damit die Daten in der Datenblattansicht angezeigt werden, stellen wir die Eigenschaft Standardansicht auf Datenblatt ein. Danach speichern und schließen Sie das Formular sfmFilmGenres.

Nun fügen wir das Unterformular zum Hauptformular hinzu, indem wir das Hauptformular in der Entwurfsansicht öffnen und dann das Formular sfmFilmGenres als neues Unterformular zum Formular frmFilmDetails hinzufügen (siehe Bild 4).

Hinzufügen des Unterformulars zum Hauptformular

Bild 4: Hinzufügen des Unterformulars zum Hauptformular

Dabei geschehen gleich mehrere Dinge automatisch:

  • Access legt ein Unterformular-Steuerelement an, das den gleichen Namen wie das eingefügte Formular erhält, also sfmFilmGenres.
  • Damit das Unterformular-Steuerelement das Formular sfmFilmGenres anzeigt, erhält die Eigenschaft Herkunftsobjekt automatisch den Wert sfmFilmGenres.
  • Die beiden Eigenschaften Verknüpfen von und Verknüpfen nach des Unterformular-Steuerelements erhalten beide den Wert FilmID (siehe Bild 5).
  • Eigenschaften des Unterformular-Steuerelements

    Bild 5: Eigenschaften des Unterformular-Steuerelements

Diese beiden Eigenschaften sorgen dafür, dass das Unterformular immer nur diejenigen Werte der Tabelle tblFilmeGenres anzeigt, deren Wert im Feld FilmID mit dem Wert des gleichnamigen Feldes des aktuellen Datensatzes der Tabelle tblFilme aus dem Hauptformular übereinstimmt.

Wechseln wir in die Formularansicht des Hauptformulars frmFilmDetails, sehen wir direkt einen Film, dem über die Verknüpfungstabelle tblFilmeGenres drei Genres aus der Tabelle tblGenres zugeordnet wurden (siehe Bild 6).

Anzeige der Genres eines Films

Bild 6: Anzeige der Genres eines Films

Auswahl per Verknüpfungstabelle

Aber warum benötigen wir zur Darstellung der Genres eines Films gar nicht die Tabelle tblGenres Schließlich sind in dieser Tabelle ja die Bezeichnungen der Genres gespeichert, die hier angezeigt werden. Der Grund ist, das wir in der Verknüpfungstabelle tblFilmeGenres die beiden Fremdschlüsselfelder zur Verknüpfung mit den beiden Tabellen tblFilme und tblGenres als Nachschlagefelder eingerichtet haben. Das nutzen wir in diesem Fall aus, indem wir nur die Datensätze der Tabelle tblFilmeGenres im Unterformular anzeigen – genau genommen ja nur das Feld GenreID. Da wir es in der Tabelle tblFilmeGenres als Nachschlagefeld angelegt haben, wird es beim Hineinziehen aus der Feldliste automatisch als Kombinationsfeld implementiert.

Wenn wir nun für den neuen, leeren Datensatz am Ende des Unterformulars ein weiteres Genres auswählen und die Auswahl speichern, wird dadurch ein weiterer Datensatz zur Tabelle tblFilmeGenres hinzugefügt.

Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar