1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

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 A00 lauffähig. (Download enthält eine mdb-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.
 
 

 
Dateien:
(0 Stimmen)

Verwaltung eines Skatturniers

ab A00

Die Zip-Datei enthält eine Version ab A00
 
Datum 05.02.2018
Dateigröße 62.28 KB
Download 512
 
 
 
 

Kommentar schreiben

Sicherheitscode
Aktualisieren

Login Form

Neueste Artikel

Problemstellung: Ab MS-Office 2010 gibt es eine 32bit und eine 64bit Variante.Übernimmt man nun eine Datenbank nach 64bit und diese enthält API-Declare Anweisungenerhlt min in der Regel diese...
1.png2.png0.png4.png4.png6.png0.png
Heute97
Gestern127
Diese Woche505
Dieser Monat1884
Total1204460

  • IP: 54.80.83.123
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

20. September 2018

Letzte Kommentare

  • Trusted Locations Manager

    Tommy Admin 13.07.2018 13:06
    RE: Trusted Locations Manager
    Hallo Matthias, aus Ermangelung einer 64bit Version kann ich das leider nicht prüfen. Tut mir leid. Gruss ...

    Weiterlesen...

     
  • Trusted Locations Manager

    Matthias 13.07.2018 06:48
    Funktioniert nicht
    Habe gerade den TL-Manager installiert. Nach dem Start sagt er mir, dass es kein Office erkennen ...

    Weiterlesen...