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

Ligaverwaltung, Teil 4: Ergebnisse

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

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.

Datenmodell der Ligaverwaltung

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.

Spielpaarungen der Saison

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.

Abfrage als Datensatzquelle des Unterformulars sfmErgebnisse

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