In den ersten drei Teilen dieser Artikelreihe haben wir die Grundlagen geschaffen, damit Sie Ligen, Mannschaften, Spieljahre und Spieltage eingeben und verwalten können. Jetzt beginnt der eigentliche Spaß, denn wir fügen nun die Formulare und Berichte hinzu, mit denen der Benutzer die Ergebnisse eingeben und die Tabellen für die einzelnen Spieltage ermitteln kann.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 2001_Ligaverwaltung.accdb.
Zusammenfassung der bisherigen Artikel
Bevor wir zum Endbenutzer-Teil der Anwendung übergehen, schauen wir uns noch einmal an, was wir bisher schon erledigt haben. Im ersten Teil der Artikelreihe haben wir das Datenmodell entworfen, dass uns möglichst flexibel das Verwalten von Ligen, Mannschaften, Spieljahren und Spieltagen mit den Spielpaarungen erlaubt. Dabei bedeutet Flexibilität auch fast immer zusätzliche Komplexität, was sich im Datenmodell niederschlägt. Das Ergebnis sehen Sie in Bild 1. Diese Tabellen enthalten alle notwendigen Daten für die Verwaltung der oben genannten Elemente.
Bild 1: Datenmodell der Ligaverwaltung
Die Anwendung unterteilen wir in zwei Teile: Der eine ist für den Manager der Ligaverwaltung, der die Ligen definiert, die Mannschaften eingibt, die Spieljahre anlegt und die Mannschaften zu den Kombinationen aus Ligen und Spieljahren hinzufügt. So ist es leicht möglich, dass eine Mannschaft im einen Jahr in der ersten Liga spielt und dann im folgenden Jahr in der zweiten Liga geführt wird, weil sie abgestiegen ist. Spannend wird es beim Verwalten der Spieltage, weil es je nach Anzahl der Mannschaften immer komplizierter wird, einen Spielplan zusammenzustellen, bei dem jede Mannschaft ungefähr in der gleichen Reihenfolge gegen die übrigen Mannschaften spielt und die Hin- und die Rückrunde identische Paarungen nur mit vertauschtem Heimrecht bietet. So ist das zumindest in den deutschen Fußball-Ligen, in England etwa hat die Hinrunde nichts mit der Rückrunde gemein, was die Reihenfolge der Spielpaarungen angeht.
Die Lösung bietet für die Anzahl von 18 Mannschaften einen Generator für den Spielplan an, der sich an den Vorgaben für die Spielplangestaltung der ersten Bundesliga im deutschen Fußball anlehnt.
Wir gehen an dieser Stelle davon aus, dass der Manager der Ligaverwaltung die Mannschaften zu einer Kombination aus Liga und Spieljahr hinzugefügt und über das Formular frmSpielpaarungen den Spielplan generiert hat. Damit haben wir beispielsweise für die Saison Bundesliga 2019/20 einen Spielplan zusammengestellt, dessen dritter Spieltag im Formular frmSpielpaarungen wie in Bild 2 erscheint.
Bild 2: Spielpaarungen der Saison
Eingabe von Ergebnissen per Unterformular
Die Tabelle tblSpielpaarungen enthält weit mehr Felder als die in der Abbildung sichtbaren Felder Spieldatum, HeimmannschaftID und AuswaertsmannschaftID. Nicht sichtbar ist noch die Zuordnung zum Spieltag und außerdem fehlen noch die Felder ToreHeimmannschaft, ToreAuswaertsmannschaft, PunkteHeimmannschaft und PunkteAuswaertsmannschaft.
Die beiden Felder ToreHeimmannschaft und Toreauswaertsmannschaft wollen wir im nachfolgend angelegten Unterformular noch hinzufügen. Wenn der Benutzer beide eingegeben hat, sollen die Inhalte der Felder PunkteHeimmannschaft und PunkteAuswaertsmannschaft angepasst werden, die ja aus dem Verhältnis der Tore resultieren.
Dem neuen Formular sfmSpielergebnisse fügen wir als Datensatzquelle eine auf der Tabelle tblSpielpaarungen basierende Abfrage hinzu. Warum die Daten nicht gleich aus der Tabelle nehmen Weil wir beispielsweise nicht die Auswahlfelder anbieten wollen, die wir im Unterformular des Formulars frmSpielpaarungen gesehen haben, sondern hier sollen Textfelder gefüllt werden, die der Benutzer nicht mehr editieren kann. Die Abfrage sieht wie in Bild 3 aus und bezieht noch zwei Instanzen der Tabelle tblMannschaften mit ein. Aus diesen beziehen wir die Namen der Mannschaften statt der in den beiden Feldern HeimmannschaftID und AuswaertsmannschaftID und bezeichnen die resultierenden Felder kurz mit Heim und Gast. In der Abbildung sind alle Felder, die in der Abfrage auftauchen, mit einem roten Rahmen versehen.
Bild 3: Abfrage als Datensatzquelle des Unterformulars sfmErgebnisse
Nach dem Erstellen der Abfrage und dem Zuweisen der Abfrage als Datensatzquelle des Unterformulars frmErgebnisse ziehen wir die Felder Heim, Gast, ToreHeimmannschaft und ToreAuswaertsmannschaft in den Entwurf des Formulars. Diesmal machen wir allerdings kein Formular in der Datenblattansicht daraus, sondern wir wollen die Endlosansicht verwenden, um mehr Gestaltungsmöglichkeiten zu haben.
Also stellen wir die Eigenschaft Standardansicht auf Endlosformular ein. Dann entfernen wir die Bezeichnungsfelder der Textfelder und ordnen die Textfelder etwa wie in Bild 4 an.
Bild 4: Entwurf des Unterformulars sfmErgebnisse
Für die beiden Felder Heim und Gast entfernen wir außerdem noch den Rahmen, indem wir die Eigenschaft Rahmenart auf Transparent einstellen. Die Inhalte der beiden Felder werden so ausgerichtet, dass die Heimmannschaft rechtszentriert und die Gastmannschaft linkszentriert erscheint.
Gleiches gilt für die Anordnung der Felder ToreHeimmannschaft und ToreAuswaertsmannschaft.
Wechseln wir nun in die Formularansicht des zukünftigen Unterformulars, erhalten wir das Bild aus Bild 5. Hier fallen uns noch einige Dinge auf, die wir gern ändern möchten:
Bild 5: Das Unterformular sfmErgebnisse in der Endlosansicht
- Der Fokus liegt auf dem Feld Heim, wodurch der Inhalt des entsprechenden Textfeldes farbig hinterlegt wird. Das soll nicht passieren, der Fokus soll nur auf den Feldern zur Eingabe des Ergebnisses liegen können.
- Wir benötigen keine alternierenden Hintergrundfarben.
- Datensatzmarkierer und Navigationsschaltflächen sind ebenfalls überflüssig.
- Wenn Sie ganz nach unten scrollen, finden Sie einen neuen, leeren Datensatz vor. Dieser soll nicht angezeigt werden.
- Hier erscheinen noch nicht die Paarungen eines Spieltags. Das wird sich jedoch ändern, wenn das Formular als Unterformular zum Einsatz kommt und über die Eigenschaften Verknüpfen von und Verknüpfen nach des Unterformular-Steuerelements nach dem im Hauptformular festgelegten Spieltag gefiltert wird.
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: