Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Fußball Aufstellung

Begonnen von AndyMcNab, Juli 10, 2017, 14:10:57

⏪ vorheriges - nächstes ⏩

AndyMcNab

Hi Leute,
ich brauche mal wieder eure Hilfe.
In meiner Vereinsverwaltung will ich Fußballspiele, Tore, Karten etc erfassen.
Ich habe eine tblSpiele, eine tblSpieler und dazwischen wegen der m:n-Beziehung eine tblAufstellung.
Außerdem habe ich jetzt ein frmSpiel, wo ich ein neues Spiel erfassen kann.
Zu jedem Spiel gehören natürlich mindestens 11 Spieler, d.h. ich muss jetzt über ein Formular 11 Aufstellungen nacheinander erfassen oder geht das irgendwie "schicker"?

AndyMcNab

Bzw. kann ich da irgendwie etwas über die Min:Max-Notation machen. Z.b., dass zu einem Spiel mindestens 11 Spieler aufgestellt werden müssen?

Beaker s.a.

Hallo Andy,
Vielleicht mit einem Listfeld mit Mehrfachauswahl, das alle für das Spiel
"zugelassenen" Spieler anzeigt. Dann wählst du die Spieler aus der Liste
aus und schreibst sie per Anfügeabfrage in die Tabelle.
Über Me.DeineListe.ItemsSelected.Count kannst du die Auswahl auch auf 11 Einträge beschränken bzw. sicherstellen,
dass auch mind. 11 Spieler eingetragen werden.
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)

Lachtaube

Hier stellt sich auch noch die Frage, ob es ausreicht, einfach die 11+ Personen auszuwählen (nach dem Motto: die wissen schon, in welcher Position sie zu spielen haben) oder ob die Auswahl der Personen (Spieler) an Positionen eines Spielsystems geknüpft sind. Letztere Version bedeutet natürlich etwas mehr Aufwand, könnte aber für einen Trainer durchaus interessant sein.

Im allgemeinen könnte man in der Spieltabelle ein Ja/Nein-Feld führen, das eine komplette Aufstellung für das Spiel signalisiert. Ab Access 2010 wäre es mittels Datenmakro möglich, zu prüfen, ob dieses Feld auf Ja gesetzt werden kann. D.h. ob alle Spielpositionen mit einer Person besetzt sind oder im einfachen Fall, ob mindestens 11 Spieler ausgewählt wurden. In anderen Access-Versionen kann diese Prüfung im Ereignis Vor Aktualisierung des Ja/Nein-Felds erfolgen oder auch mittels Gültigkeitsregel festgelegt werden.
Grüße von der (⌒▽⌒)

AndyMcNab

Hi,
danke erst mal für die Antworten.
Die Spielpositionen sind egal, ich will wirklich nur erfassen wer gespielt hat.
Dazu sollte ich noch sagen, dass ein Spieler "mehrmals" aufgestellt werden kann, falls er aus- und wieder eingewechselt wird.

Meine Frage war vor allem ob ich wenn ich über das Formular ein neues Spiel anlege ob ich dann in diesem Formular irgendwie alle Spieler auswählen kann die gespielt haben und mir das Formular dann die werte spielID und spielerID in die tblAufstellung als Datensatz schreibt!?

Lachtaube

Das geht sowohl mit der Ekkehard'schen Methode als auch über ein Haupt-/Unterformular-Szenario. Im Hauptformular wird das Spiel ausgewählt und im über die SpielId verknüpften Unterformular wird die SpielerId nach und nach jeweils in einem Kombifeld ausgewählt. Am Ende müssen dann mindestens 11 Datensätze erscheinen.
Grüße von der (⌒▽⌒)

Beaker s.a.

Hallo Lachtaube,
Zitatim über die SpielId verknüpften Unterformular wird die SpielerId nach und nach
Genau das stört ihn ja.
ZitatDazu sollte ich noch sagen, dass ein Spieler "mehrmals" aufgestellt werden kann
Dann umfasst IMO aber eine Aufstellung mehr als 11 Spieler. Da musst 
du dann noch ein/zwei Zeitfelder einfügen um sicherstellen zu können,
dass nur 11 Spieler gleichzeitig auf'm Platz stehen. Oder du musst für
ein Spiel mehrere Aufstellungen erfassen.
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)

AndyMcNab

Servus,
ja genau! Also wie kann ich denn ein Bild einfügen? Dann schicke ich Euch einen Auszug aus meinem Datenmodell.
In der tblAufstellung ist ein Feld für die Spielminute in der der Spieler eingewechselt wird und ein Feld für die Spielminute in der der Spieler ausgewechselt wird.
Ich erstelle jetzt ein Formular frmSpiel in das ich alle Daten zum Spiel eintrage. Dann erstelle ich ein Unterformular frmAufstellung in dem ich die Aufstellungen anlegen kann. Mit mindestens 11 Spielern und max. 11 Spielern gleichzeitig.
In diesem Unterformular werden mir nur die Spieler angezeigt die aktiv sind. Das Unterformular wird mit dem Formular über die spielID verknüpft und erstellt mir dann die Einträge in der tblAufstellung mit aufstellungID, spielerID und spielID sowie eben Spielminuten etc.?

In der Theorie ok?!

Ich glaube Gültigkeitsregeln wie immer mindestens 11 Spieler sind mir nicht so wichtig und gehen auch zu weit. Primäres Problem ist ob und wie sich das Gesamtformular realisieren lässt. Im Prinzip brauche ich dann auch noch Unterformulare für Tore und Karten.

Danke!

AndyMcNab

Hier das Datenmodell (nur ein Auszug)!

Beaker s.a.

Hallo Andy,
Die gezeigten Tabelle/Beziehungen sehen, für mich, soweit o.k. aus. Bis auf
zwei Kleinigkeiten.
1. die Spielminuten brauchst du nicht zu speichern, die lassen sich jederzeit
aus den beiden Zeitfeldern errechnen.
2. Fotos der Spieler würde ich nicht als Anlagefeld speichern, das bläht die DB
nur unnötig auf. Die übliche Vorgehensweise ist, in einem Textfeld den Pfad zum
Foto zu speichern und es bei Bedarf in einem Bildsteuerelement anzuzeigen. Falls
es mehr als ein Foto gibt musst du eine zusätzl. Tabelle anlegen mit einem FK
zum Spieler (spielerID_F).

Zum Formular: Das hast du auch schon ganz richtig im Kopf. Das HFo bezieht
seine Daten aus der Tabelle "Spiele", das UFo "Aufstellung" wird an die gleichnamige
Tabelle gebunden bzw. an eine Abfrage, die dir die Spieler anzeigt, die momentan
auf dem Platz stehen. Die zur Auswahl stehenden Spieler würde ich dort, wie bereits
am Anfang angeregt in einem ListFeld anzeigen.
Mehrere UFo würde ich auf Registerkarten platzieren.
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)