Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Spielerverwaltung

Begonnen von Optiplex, September 10, 2012, 12:47:36

⏪ vorheriges - nächstes ⏩

Optiplex

Ich habe vor einiger Zeit eine Turnierverwaltung geschrieben, dabei habe fast alles über VBA umgesetzt und habe eigentlich nur Tabellen in Access angelegt. Da ich nun einige Erweiterungen einpflegen wollte hat sich diese Vorgehen als Bumerang (der VBA Text wird immer unübersichtlicher und Fehler anfälliger) erwiesen. deshalb habe ich mich entschlossen die Turnierverwaltung neu aufzusetzen, aber diesmal richtig. Deshalb hier einige Erläuterungen. die Turnierverwaltung besteht aus mehreren Turnieren die alle gleichzeitig ablaufen können. Es gibt eine Teilnehmertabelle in der alle Teilnehmer eingetragen werden (hier bekommen sie ihre Startnummer) egal an welchen Turnieren sie teilnehmen. es gibt drei Turniertypen (Einzel [1Spieler]; Doppel[2Spieler]; Team[6Spieler]). Für jedes Turnier gibt es eine Spielertabelle und Turniertabelle über die Spielertabelle werden die Spieler in die einzelnen Spiele gesetzt. und über die Turniertabelle wird in der Spielorttabelle der Spielort als belegt gesetzt.

Mein Problem ist die Spielerverwaltung, das heißt spielt, ein Spieler gerade sein Einzel kann er nicht zu einem Teamspiel oder Doppel aufgerufen werden, also muss in der Turnier Tabelle das Spiel gesperrt werden bis das Einzel beendet ist und natürlich auch umgekehrt, spielt er in einem Teamspiel kann er nicht sein Einzel spielen, ich habe das mit einem Gruppenstatus zu lösen probiert komme aber auch hier nicht auf einen grünen Zweig. deshalb meine Frage wie baut man so etwas sinnvoll mit Tabellen und Abfragen auf damit das läuft Den Turnierablauf DoppelKOsystem EinfachKOsystem muss man sowieso einzeln Programmieren hier sehe ich überhaupt keine Möglichkeit das über Datenbank Möglichkeiten zu realisieren, aber die Spielerverwaltung sollte doch möglich sein.
Ich hoffe ich habe mich verständlich ausgedrückt und mir kann jemand weiterhelfen

Gruß Dieter

[Anhang gelöscht durch Administrator]

ebs17

Zur konkreten Frage: Damit ein Spieler nicht mehrfach eingesetzt wird, sollte eine Neueinsatz zwischen einem Spielbeginn (Startzeitpunkt festhalten) und Spielende (Ergebnis liegt noch nicht vor) blockiert werden.

Insgesamt sollte Dein Datenmodell etwas anders aussehen. So eine rechte Vorstellung habe ich noch nicht, aber tendenziell würde ich Daten aus einer Spielertabelle, einer Turniertabelle und einer Spielortetabelle in einer Verknüpfungstabelle zusammen führen.

MfGA
ebs
Mit freundlichem Glück Auf!

Eberhard

Optiplex

hallo ebs17,
Richtig bei einer Zuteilung des Spielortes sollten die Spiele in den anderen Turnieren gesperrt werden, erst wenn das Ergebis eingetragen wird sollten diese wieder freigegebn werden.

Wenn ich dich richtig verstehe dann sollte es eine einzige tabelle Spieler in der das turnier in welchem er spielt zusammengetragen wird. Eine einzige tabelle turnier kann es nicht geben, da die Tabellen für den jeweiligen Turniertyp anderst aussehen und je nach Spieleranzahl mehr oder weniger Spiele haben.
Alle Spielorte sind in einer Tabelle.

Ich habe mir auch schon überlegt ob ich den Status des Spiels im turnier oder in der Spielertabelle Gruppenstatus nicht als berechnetes Feld ( wenn )  machen soll?
Wenn du noch Fragen hast dann stell sie. Ich möchte den Tabellenaufbau diesmal nicht vernachlässigen.

Optiplex

#3
Hallo zusammen,
hat hier wirklich keiner eine Idee, kann ich mir ja fast nicht vorstellen. Ich weis, dass das eine schwierige frage ist, sonst würde ich sie auch nicht stellen.

Gruß Dieter

Beaker s.a.

Hallo Dieter,
ZitatEine einzige tabelle turnier kann es nicht geben,
da die Tabellen für den jeweiligen Turniertyp anderst aussehen
und je nach Spieleranzahl mehr oder weniger Spiele haben.
Doch, ein Turnier ist ein Turnier und gehört daher in eine Tabelle
Turniere.
Für die Typen gibt es dann noch eine eigene (Nachschlage)Tabelle,
deren ID dann als Fremdschlüssel mit in die Turnier-Tabelle kommt.
Die Felder, die für den Typ nicht zutreffen bleiben dann einfach leer.
Was man machen könnte, wenn Du die Eigenschaften der einzelnen
Typen unbedingt getrennt haben möchtest, wäre pro Typ eine
Tabelle die dann 1:1 mit der Turniertabelle in Beziehung steht.
Die Anzahl Spiele ergibt sich aus entsprechend vielen DS in einer
Tabelle, die Turniere und Spieler/Spiele zusammenführt (siehe Eberhards
Antwort).
Du kannst ja mal (D)einen ersten Versuch hier hochladen (am besten
als A2K-.mdb). Da ist es einfacher Verbesserungsvorschläge zu machen.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

bahasu

#5
Hi,

siehe Anhang: der Spieler wird zu einem Spiel per Kombifeld aus einer Stammdatentabelle für ein Spiel ausgesucht, wobei in der Auswahlliste nur die Spieler zur Verfügung stehen, die noch keinem Spiel zugeordnet sind bzw. deren Spiel beendet ist.
Dieser Vorschlag soll nur zur Orientierung dienen und erhebt keinen Anspruch auf Vollständigkeit.

Harald

Nachtrag:
Habe die Version V2 durch V3 ersetzt, da noch ein nz fehlte

[Anhang gelöscht durch Administrator]
Servus