Verwaltung eines Skatturniers

Problemstellung:
ein Bekannter fragte mich vor einiger Zeit ob es möglich wäre mit MS-Access
ein Skatturnier zu verwalten bzw. die Teilnehmer per Zufall den Tischen zu zuordnen usw.
Ich sagte ja, das kann ich machen.
Das Ergebnis stelle ich Euch hier vor.
Wobei vorweg gesagt sein muss das es keine vollständige Verwaltung ist oder sein soll

Voraussetzungen:
Das Bsp ist ab A07 lauffähig. (Download enthält eine accdb-Datei) 

Lösung:
Am Anfang stehen 5 Tabellen für:
Turnier, Teilnehmer, Tische, Plätze und die Besetzung
In der Tabelle Turnier kommen einige Stammdaten für das jeweilige Turnier
wie Datum, Ort, Anzahl der Teilnehmer, Anzahl der zu spielenden Runden und ob vorrangig
3er oder 4er Tische benutzt werden sollen.
 
Nach dem Klick auf den Button "Tische, Plätze und Teilnehmer erzeugen" laufen einige Routinen ab
in der die Tabellen mit Daten gefüllt werden.
z.B. zum ermitteln der erforderlichen Tischanzahl (je nach Priorität 3er oder 4er Tische)

Public Type COUNTTABLE
    iThree As Integer
    iFour   As Integer
End Type
Public Function CalcTable(iCountMember As Integer, iTablePriority As Integer) As COUNTTABLE
    Dim i3 As Integer, i4 As Integer
    If iTablePriority = 3 Then
         'Dreiertische
         If iCountMember Mod 3 > 0 Then
             i3 = Int(iCountMember / 3) - (iCountMember Mod 3)
             i4 = iCountMember Mod 3
         Else
             i3 = Int(iCountMember / 3)
             i4 = 0
         End If
    Else
         'Vierertische
         If iCountMember Mod 4 > 0 Then
             i4 = Int(iCountMember / 4) + (iCountMember Mod 4) - 3
             i3 = 4 - (iCountMember Mod 4)
         Else
             i4 = Int(iCountMember / 4)
             i3 = 0
         End If
     End If
    CalcTable.iThree = i3
    CalcTable.iFour = i4
End Function
 
Diese Funktion gibt dann die erforderliche Anzahl der Tische zurück
z.B.
Teilnehmer = 22 und 4er Tische


Dim tTable As COUNTTABLE
    Dim i3 As Integer, i4 As Integer
    tTable = CalcTable(22, 4)
    i3 = tTable.iThree
    i4 = tTable.iFour
    MsgBox i3 & " '3er Tische'" & vbNewLine & "und" & vbNewLine & i4 & " '4er Tische'"
 
 
Ergebnis:
 

 
 
Dann werden die anderen Tabellen gefüllt; Platznummern und Teilnehmer.

Rechts im Unterformular müssen dann die Namen der Teilnehmer eingegeben werden.
Es kann immer vor Turnierbeginn die Besetzung der Tische per Zufall neu gestartet werden.
Dafür einfach den Button "zufällige Besetzung der Plätze" anklicken.
Diese erfolgt nach dem Zufallsprinzip. s. Sub "Private Sub FillCast()"
Wird die zufällige Besetzung vor der Eingabe der Namen erzeugt klappt das zwar auch aber das Ergebnis ist nicht ganz so zufällig.
 

Wichtig: die Checkbox "auch Namen löschen" muss in diesem Fall deaktiv sein, sonst werden die Namen mitgelöscht.

 
In den beiden Listenfeldern werden dann die Tische und die Belegung in der jeweiligen Runde dargestellt.
 
Zur besseren Übersicht gibt es dann unten noch die visuelle Tischbelegung.
 
 
 

 
Downloads:
(0 Stimmen)
Datum07.08.2026
Dateigröße 51.11 KB
Download 1.047
 

Ähnliche Artikel

 
 
 
 

Wir verwenden Cookies

Wir verwenden Cookies, um Ihr Surferlebnis zu verbessern und den Website-Verkehr zu analysieren. Bitte wählen Sie aus, welchen Cookie-Kategorien Sie zustimmen möchten.