Mannschaft abhängig vom Alter
Hallo Zusammen,
ich habe ein für mich recht komliziertes Anliegen:
Ich einem Athleten automatisch eine Mannschaft bzw. Altersklasse zuweisen und zwar je nach Jahrgang. Das Problem ist, dass sich die Altersklasse nicht am Ende des Jahres ändert, sondern einmal im April und einmal im November.
Das heißt konkret:
Ein junger Athlet des Jahrgangs 2007 ist im Moment (Februar) noch ein Spieler der Altersklasse "Knaben B", jedoch ab dem 01.04.2020 dann "Knaben A" und zwar genau zwei Jahre lang, also bis zum 31.03.2022, danach ist er dann "Jugend B", usw.
Wie kann ich dies berechnen?
Danke schon mal für eure Hilfe!
5 Antworten
-
Hallo Stephan, da es wahrscheinlich deutlich mehr als zwei gibt, würde ich mir für die ALTERSKLASSEN eine Extra-Tabelle mit folgenden Feldern anlegen:
Alter_von (Zahl, z. B. 10)
Alter_bis (Zahl, z. B.12)
Altersklasse (Text, z. B. "Knaben B")Dann könnte man in der Tabelle ATHLETEN mit einem Berechnungsfeld anhand des Geburtsdatums die aktuelle Altersklasse ermitteln:
let Jahre := year(today()) - year(Geburtsdatum);
if month(today()) > 3 then Jahre := Jahre + 1 end;
first((select Altersklassen where Alter_von <= Jahre and Alter_bis >= Jahre).Altersklasse)
Allerdings ist das jetzt nur auf den Stichtag 1. April bezogen, weil sich auch deine Beschriebung nur auf den Jahrgang bezieht. Wenn das genaue Geburtsdatum aber keine Rolle spielt, was soll dann im November passieren?
-
Hallo Copytexter,
danke für Deine Antwort, das hilft schon mal. Ich glaube, man könnte so den Bezug zum November raus lassen, also beziehe ich mich erst mal nur auf den 1. April:Es gibt im Prinzip fünf Altersklasse ("Jugendaltersklassen"), die Interessant sind und zwar für jeweils beide Geschlechter:"Knaben B / Mädchen B"
"Knaben A" / "Mädchen A"
"männliche Jugend B" / "weibliche Jugend B"
"männliche Jugend A / "weibliche Jugend A"
"Herren" / "Damen"Vom 01.04.2019 bis 31.03.2020 gilt:
"Knaben B / Mädchen B" sind die Jahrgänge 2008 und 2007
"Knaben A" / "Mädchen A" sind die Jahrgänge sind die Jahrgänge 2006 und 2005
"männliche Jugend B" / "weibliche Jugend B" sind die Jahrgänge 2004 und 2003
"männliche Jugend A / "weibliche Jugend A" sind die Jahrgänge 2002 und 2001
"Herren" / "Damen"sind die Jahrgänge 2000 und älterZudem gibt es aber auch noch eine zweite Einteilung für die Auswahlspieler ("Auswahlaltersklassen"):
"U13 männlich" / "U13 weiblich"
"U14 männlich" / "U14 weiblich"
"U15 männlich" / U15 weiblich"
"U16 männlich" / "U16 weiblich"und hier kommt auch der November wieder ins Spiel, denn:
(Vom 01.04.2019 bis 31.03.2020)
"U13 männlich" / "U13 weiblich" ist der Jahrgang 2007
"U14 männlich" / "U14 weiblich" sind die Jahrgänge 2006 und 2005
"U15 männlich" / U15 weiblich" ist der Jahrgang 2004, allerdings nur vom 01.11.2019 bis zum 31.03.2020
"U16 männlich" / "U16 weiblich" sind die Jahrgänge 2003 und 2004, allerdings nur vom 01.04.2019 bis zum 01.11.2019Ich brauche also zwei Berechnungen:
1.) Was ist die Jugendaltersklasse?
2.) Was ist die Auswahlaltersklasse?Und zu allem Überfluss kann es jetzt auch noch sein, dass in der "Auswahlaltersklasse" ein Athlet "nach oben" gezogen wird, also eine Auswahlaltersklasse höher spielt. Hier muss ich einen Harken setzen können "hochgezogen", wodurch sich dann das Feld "Auswahlaltersklasse" automatisch anpasst (und natürlich auch wieder anders herum nach unten anpasst, beim entfernen des Harkens).
LG
-
Hallo Stephan, so wird das natürlich eine ganz andere Hausnummer. Ich kann dir dazu ad hoc keine fertige Lösung präsentieren, würde im Prinzip aber wohl so vorgehen, wie oben beschrieben. Also die Altersklassen in eine Extra-Tabelle schreiben, in der ggf. alle relevanten Berechnungen vorgenommen werden. Nur, dass diese Tabelle einige Felder mehr beinhalten müsste. Zum Beispiel folgende:
Alter_von (Zahl, z. B. 10)
Alter_bis (Zahl, z. B.12)
Bezeichnung_m (Text, z. B. "Knaben B")
Bezeichnung_w (Text, z. B. "Mädchen B")
Art (Auswahlfeld: Jugendaltersklasse/Auswahlaltersklasse)
Monat_von (Auswahlfeld: alle Monate in der korrekten Reihenfolge, z. B. "April" = 4)
Monat_bis (Auswahlfeld: alle Monate in der korrekten Reihenfolge, z. B. "März" = 3)Und als Berechnungsfelder:
Jahrgang_von (Basiswert: Alter_von)
Jahrgang_bis (Basiswert: Alter_bis)
Datum_von (Basiswert: Monat_von)
Datum_bis (Basiswert: Monat_bis)In der Tabelle 'Athleten' könnte man dann anhand des Geburtsdatums auf den betreffenden Datensatz der Tabelle 'Altersklassen' zugreifen und je nach Geschlecht die zutreffende Bezeichnung (m/w) anzeigen lassen.
Für das "Hochziehen" habe ich jetzt spontan keine Idee, das müsste man genauer überdenken. Vielleicht kann man die Altersklassen manuell durchnummerieren oder so, und dann ggf. den nächsthöheren Wert suchen. Aber das ist nur Theorie und wie gesagt nicht im Detail durchdacht. Ich würde da Schritt für Schritt vorgehen.
Oder man arbeitet mit Verknüpfungen. Dann würden sich die Altersklassen allerdings nicht automatisch aktualisieren, sondern es bräuchte ein auslösendes Ereignis (z. B. Schaltfläche). Aber solche grundlegenden Fragen hängen natürlich auch von den individuellen Gegebenheiten und Anforderungen ab.
-
Hallo Stefan,
habe auch mal sowas gebastelt. Hier meine damalige Lösung
https://www.dropbox.com/s/5v67jyp05k1kack/Jugend.ninox?dl=0
Gruß
Thomas
-
super, ich danke euch sehr!!!!
Content aside
- vor 4 JahrenZuletzt aktiv
- 5Antworten
- 1175Ansichten