Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: Michael Wulf am Juli 27, 2016, 19:50:39

Titel: Im Bericht zusätzliches Feld berechnen
Beitrag von: Michael Wulf am Juli 27, 2016, 19:50:39
Hallo zusammen,

ich habe eine Datenbank in der eine Sportveranstaltung ausgewertet werden soll. Dazu werden werden die Teilnehmer in Gruppen unterteilt. Jeder Teilnehmer erhält eine Startkarte auf der er seine Ergebnisse notiert. Die Teilnehmer der Gruppe starten in einer bestimmten Reihenfolge. Dies wird auf der Startkarte mit dem Zusatz A;B;C.. kenntlich gemacht.

Die Anzahl der Gruppen variert und die Anzahl der Gruppen-Teilnehmer beträgt max 5 Personen.

Hat jemand eine Idee wie ich einem Feld "Gruppensatz" die Buchstaben berechnen kann, sodass auf der Karte dann 1 A, 1B 1 C, 1 D; 2 A, 2 B , 2 C, 2 D, 2 E; 3 A ...  ausgewiesen wird.

Die Abfrage heißt "ABF_Startkarte". Das Feld mit der Gruppennr. heißt "Gruppe"
Titel: Re: Im Bericht zusätzliches Feld berechnen
Beitrag von: MzKlMu am Juli 27, 2016, 19:57:04
Hallo,
ZitatHat jemand eine Idee wie ich einem Feld "Gruppensatz" die Buchstaben berechnen kann,
an Hand was soll das berechnet werden, ich habe auch nicht ganz verstanden, was Du da jetzt berechnen willst.
ZitatDie Anzahl der Gruppen variert und die Anzahl der Gruppen-Teilnehmer beträgt max 5 Personen
wie ist das in der Tabelle abgebildet ?
Titel: Re: Im Bericht zusätzliches Feld berechnen
Beitrag von: Michael Wulf am Juli 27, 2016, 21:01:31
Ich stelle mir etwas vor wie:

Im Bericht wurde die Sortierung nach Gruppennr. bereits vorgegeben.

Nun soll im dem Feld "Zusatz" folgendes berechnet werden:
"Solange das Feld Gruppe "1" ist ergänze das Feld "Zusatz" erst um A, dann B, dann C. Wenn Feld Gruppe gleich "2" beginne von vorn. Dass ganze bis die Abfrage beendet ist."

ZitatDie Anzahl der Gruppen variiert und die Anzahl der Gruppen-Teilnehmer beträgt max 5 Personen

Bei der Erfassung wird jedem Teilnehmer eine Gruppennr zugeordnet. Die Anzahl der Gruppen ergibt sich aus der Teilnehmerzahl und der maximalen Gruppengröße. Die maximale Gruppengröße wird manchmal nicht erreicht.

War das verständlich ?
Titel: Re: Im Bericht zusätzliches Feld berechnen
Beitrag von: MaggieMay am Juli 27, 2016, 21:14:42
Hallo,
ZitatDie maximale Gruppengröße wird manchmal nicht erreicht.
was bedeutet das in der Praxis? Gibt es bei acht Teilnehmern eine Gruppe mit 5 und eine mit 3 oder gibt es zwei Gruppen mit je 4 Teilnehmern? Und wie sähe das bspw. bei sieben Teilnehmern aus?

Oder anders herum gefragt: Besteht eine Gruppe immer aus der max. Anzahl solange genug Teilnehmer gemeldet sind und hat nur die letzte Gruppe eine entsprechend geringere Teilnehmerzahl abh. von den Anmeldungen?
Titel: Re: Im Bericht zusätzliches Feld berechnen
Beitrag von: Michael Wulf am Juli 28, 2016, 00:55:12
Hallo,

Zitatas bedeutet das in der Praxis? Gibt es bei acht Teilnehmern eine Gruppe mit 5 und eine mit 3 oder gibt es zwei Gruppen mit je 4 Teilnehmern? Und wie sähe das bspw. bei sieben Teilnehmern aus?

Also wir reden hier von ca. 120 bis 150 Teilnehmern. Die Teilnehmer tragen sich in ein Formular ein, das max 5 Teilnehmer je Gruppe vorsieht. Die Anzahl der Gruppen wird vom Veranstalter vorgegeben. Meist sind es zwischen 28 und 35. Dies entspricht der Anzahl der Startplätze die nach dem Rotationsprinzip angelaufen werden. Ähnlich wie bei einem Golfturnier.

Durch die Vorgabe der Anzahl der Gruppen und der individuellen Entscheidung der Teilnehmer kann die Anzahl der Starter je Gruppe schwanken. Meist zwischen 3 und 5.

Hilft das weiter ? Kann man das nicht mit einer while / wend bzw If / then Schleife lösen. Ich kriege das aber nicht mehr hin. Schon garnicht in VBA.

Danke
Michael
Titel: Re: Im Bericht zusätzliches Feld berechnen
Beitrag von: ebs17 am Juli 28, 2016, 01:02:19
Die Zuordnung Personen zu Gruppe ist bereits erledigt?
Es geht nur um eine Reihenfolge?

=> Laufende Nummer/Summe in Abfragen (http://www.donkarl.com?FAQ3.11)
sowie Chr(65) ergibt A
zusammenbringen.
Titel: Re: Im Bericht zusätzliches Feld berechnen
Beitrag von: Michael Wulf am Juli 28, 2016, 09:04:58
ZitatDie Zuordnung Personen zu Gruppe ist bereits erledigt?
Es geht nur um eine Reihenfolge?

Ja, jeder Starter hat eine Gruppe.

Zitat=> Laufende Nummer/Summe in Abfragen
sowie Chr(65) ergibt A
zusammenbringen.

Diese Lösung führt zu einer durchlaufenden Nummerierung und würde m.E. dazu führen, dass alle Gruppe 1 (z.b. 5  Starter) das A erhalten. Es soll aber so sein, das innerhalb einer Gruppe z.B. A bis E "nummeriert wird. Und dies bei Gruppe 2,3 ... von vorn beginnt.

Etwa so wäre es nach dem Code den der Link beinhaltet. Diesen verwende ich auch schon bei der Auswertung zur Ermittlung der Plazierung.

LaufNummer: (Select Count (*) FROM [Turnier] as Temp WHERE [Temp].[Gruppe] > [Turnier].[Gruppe] and Turnier.Turniername=Temp.Turniername)+CHR(65)
Titel: Re: Im Bericht zusätzliches Feld berechnen
Beitrag von: ebs17 am Juli 28, 2016, 10:04:37
Für eine laufende Nummer in der Gruppe braucht man ein zusätzliches Kriterium (Geburtstag, Anzahl Sommersprossen - ich weiß nicht, was da erfasst wird und benutzt werden kann). Vielleicht gibt es da einen Autowert oder einen Zeitstempel, womit man eine Chronologie umsetzen würde.
Das Feld Gruppe wäre wie das Feld Turniername zu behandeln und wäre für die Gruppierung, nicht aber für die lfdNr zu verwenden.
Titel: Re: Im Bericht zusätzliches Feld berechnen
Beitrag von: Michael Wulf am Juli 28, 2016, 12:04:39
Gute Idee. Aus der Tabellenstruktur ergibt sich ein solches Feld derzeit nicht. Aber man könnte ja eines konstruieren. Ich denke da an die Erfassung des Anmeldedatums mit Zeitangabe. Das würde zu einer theoretischen Reihenfolge innerhalb der Teilnehmer der Gruppe führen.

Wie würde sich das dann in der Abfrage darstellen. Ich hätte vom Grundsatz immer noch das gleiche Problem. Die Unterabfrage müßte dann ja 2 Schleifen beinhalten.
Titel: Re: Im Bericht zusätzliches Feld berechnen
Beitrag von: DF6GL am Juli 28, 2016, 13:22:50
Hallo,

handelt es sich um ein Jagd- oder ein Hallenturnier?

Im "Jagd"-Fall könntest Du mir eine PN schreiben...

Alle ins Gold  ;)