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

Ligaverwaltung, Teil 5: Tabellen berechnen

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

In den ersten vier Teilen dieser Artikelreihe haben wir die Grundlagen geschaffen, damit Sie Ligen, Mannschaften, Spieljahre und Spieltage eingeben und verwalten können. Außerdem kann der Benutzer nun eine Liga und einen Spieltag auswählen und Ergebnisse eingeben. Dieses Formular wollen wir nun dahingehend ergänzen, dass es in einem weiteren Unterformular den zu den Ergebnissen passenden Tabellenstand abbildet.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 2001_Ligaverwaltung_5.accdb.

Tabellen berechnen

Bevor wir an die technischen Feinheiten gehen, schauen wir uns an, wie die Tabelle überhaupt berechnet wird. In der Tabelle tblSpielpaarungen werden nicht nur die Paarungen eingetragen, sondern auch die Tore der Heim- und der Auswärtsmannschaft und die daraus resultierenden Punkte für die Heim- und die Auswärtsmannschaft (siehe Bild 1).

Ergebnisse und Punkte in der Tabelle tblSpielpaarungen

Bild 1: Ergebnisse und Punkte in der Tabelle tblSpielpaarungen

Diese Daten sind die Grundlage zur Berechnung der Tabelle der Liga. Dazu werden die Ergebnisse aller Spielpaarungen bis zu dem angegebenen Spieltag zusammengefasst und ausgewertet.

Dabei addieren wir für jede Mannschaft zunächst die erzielten Punkte. Es gibt drei Punkte für einen Sieg, einen Punkt für ein Unentschieden und keinen Punkt für eine Niederlage. Sieg, Unentschieden und Niederlage sind leicht definiert: Bei einem Sieg hat die Gewinnermannschaft mehr Tore als die Verlierermannschaft, bei einem Unentschieden haben beide gleich viele Tore und bei einer Niederlage hat die unterlegene Mannschaft weniger Tore als die Gewinnermannschaft.

Die Punkte werden bereits bei der Eingabe der Tore einer Spielpaarung eingetragen, wie wir bereits im vierten Teil dieser Artikelreihe erläutert haben.

Um die Reihenfolge in der Tabelle zu bestimmen, gibt es folgende Kriterien:

  • Das erste und wichtigste Kriterium ist die Anzahl der Punkte, die für Siege und Unentschieden vergeben werden. Die Mannschaften werden in absteigender Reihenfolge zuerst nach der Anzahl dieser Punkte sortiert.
  • Wenn zwei oder mehr Mannschaften die gleiche Anzahl an Punkten aufweisen, wird das Torverhältnis herangezogen. Das Torverhältnis ist die Differenz aus den geschossenen Toren zu den Gegentoren bis zu dem zu berechnenden Spieltag. Das Torverhältnis kann eine positive Zahl, eine negative Zahl oder 0 sein.
  • Wenn zwei Mannschaften die gleiche Anzahl Punkte und das gleiche Torverhältnis aufweisen, kommt die Anzahl der geschossenen Tore zum Tragen. Die Mannschaft, die mehr Tore geschossen hat, erhält den höheren Tabellenplatz. Ein Torverhältnis von 10:8 ist also beispielsweise besser als 9:7.

Sollte die Reihenfolge danach immer noch nicht eindeutig geklärt sein, kommen weitere Regeln zum Einsatz:

  • Dann betrachtet man die Ergebnisse der betroffenen Mannschaften gegeneinander. Die Mannschaft, die mehr Tore geschossen hat, steht in der Tabelle über der anderen Mannschaft. Lauten die Ergebnisse zwischen Mannschaft 1 und Mannschaft 2 zum Beispiel 2:1 und 1:3, dann steht Mannschaft 2 vor Mannschaft 1.
  • Danach werden die auswärts erzielten Tore in den direkten Partien der gleichrangigen Mannschaften verglichen. Hat Mannschaft 1 zuhause 1:0 gewonnen und Mannschaft 2 zuhause 2:1 gewonnen, liegt Mannschaft 1 vor Mannschaft 2, da sie auswärts ein Tor geschossen hat, Mannschaft 2 jedoch keines.
  • Liegen die beiden Mannschaften immer noch gleichauf, gibt es ein Entscheidungsspiel.

Wir wollen in dieser Lösung nur die ersten drei Regeln berücksichtigen.

Ergebnisse zusammenzählen

Wir wollen zuerst einen für uns einfacheren Weg gehen, indem wir die beiden Tabellen tblTabellenpositionen und tblTabellenstaende per VBA aus den bestehenden Ergebnissen füllen. Die Tabelle tblTabellenstaende enthält neben dem Primärschlüsselfeld nur ein Feld namens SpieltagID, das wiederum einen der Spieltage aus der Tabelle tblSpieltage referenziert.

Die Tabelle tblTabellenpositionen ist über das Fremdschlüsselfeld TabellenstandID mit der Tabelle tblTabellenstaende verknüpft (siehe Bild 2).

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