ACC07: Auswertung von Mannschaften

15/05/2011 - 08:08 von Thorsten Maerz | Report spam
Dies ist eine mehrteilige Nachricht im MIME-Format.

=_NextPart_000_0010_01CC12D7.55292450

Hallo,

ich bin gerade dabei die Auswertung einer Datenbank fà¼r eine Sportveranstaltung zu schreiben.

Bei einem Problem wird mir das Ganze aber zu schwierig.

Also:
Es gibt Teilnehmer, die in einem Team organisiert sind. Jeder Teilnehmer startet bei der Veranstaltung (Radrennen) als Einzelstarter. Fà¼r die Mannschaftswertung werden die besten 4 Starter von einem Team (Team 1) gewertet. Soweit so gut und das Ganze funktioniert bei mir auch. Allerdings bilden die 4 nà¤chstbesten Starter in der Mannschaftswertung auf wieder ein Team (also Team 2, die weiteren 4 auch wieder ein Team (Team 3).

In meiner Datenbank sind natà¼rlich alle Teilnehmer zunà¤chst fà¼r ein Team angemeldet.

Meine Tabelle schaut also so aus:
Name Zeit Verein
Hans 01:23:45 RC Beispiel
Peter 01:20:59 RC Beispiel
Franz 01:24:43 RC Beispiel
Martin 01:30:04 RC Beispiel
Klaus 01:27:34 RC Beispiel
Jens 01:25:45 RC Beispiel
Frank 01:23:56 RC Beispiel
Tom 01:26:32 RC Beispiel
Stefan 01:22:22 RC Beispiel
Michael 01:23:44 RC Beispiel
Mark 01:24:23 RC Beispiel
usw...

Natà¼rlich sind auch Starter von anderen Vereinen dabei und es gibt auch Vereine, die nur 3 oder weniger Teilnehmer haben, bei denen also kein Team gebildet werden kann. Insgesamt habe ich so à¼ber 200 Datensà¤tze.

Daraus soll dann werden:
Name Zeit Verein
Peter 01:20:59 RC Beispiel 1
Stefan 01:22:22 RC Beispiel 1
Michael 01:23:44 RC Beispiel 1
Hans 01:23:45 RC Beispiel 1
Frank 01:23:56 RC Beispiel 2
Mark 01:24:23 RC Beispiel 2
Jens 01:25:45 RC Beispiel 2
Franz 01:24:43 RC Beispiel 2

Martin 01:30:04 RC Beispiel
Klaus 01:27:34 RC Beispiel
Tom 01:26:32 RC Beispiel

Nachdem Martin, Klaus und Tom kein Team mehr bilden können werden die Datensà¤tze fà¼r die Mannschaftswertung nicht benötigt und sollen dann natà¼rlich nicht mehr in der Tabelle enthalten sein.

Ich hoffe ich konnte Euch verstà¤ndlich machen, was ich brauche – ansonsten einfach nochmal nachfragen, ich werde mich dann natà¼rlich schon aus Eigeninteresse umgehend melden.

Besten Dank fà¼r Eure Hilfe!

Grà¼àŸe
Thorsten

=_NextPart_000_0010_01CC12D7.55292450

<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: 12pt">
<DIV>Hallo, </DIV>
<DIV>&nbsp;</DIV>
<DIV>ich bin gerade dabei die Auswertung einer Datenbank fà¼r eine
Sportveranstaltung zu schreiben.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Bei einem Problem wird mir das Ganze aber zu schwierig.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Also:</DIV>
<DIV>Es gibt Teilnehmer, die in einem Team organisiert sind. Jeder Teilnehmer
startet bei der Veranstaltung (Radrennen) als Einzelstarter. Fà¼r die
Mannschaftswertung werden die besten 4 Starter von einem Team (Team 1) gewertet.
Soweit so gut und das Ganze funktioniert bei mir auch. Allerdings bilden die 4
nà¤chstbesten Starter in der Mannschaftswertung auf wieder ein Team (also Team 2,
die weiteren 4 auch wieder ein Team (Team 3).</DIV>
<DIV>&nbsp;</DIV>
<DIV>In meiner Datenbank sind natà¼rlich alle Teilnehmer zunà¤chst fà¼r ein Team
angemeldet.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Meine Tabelle schaut also so aus:</DIV>
<DIV><FONT face="Courier New"><STRONG>Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Zeit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Verein</STRONG></FONT></DIV>
<DIV><FONT face="Courier New">Hans&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
01:23:45&nbsp;&nbsp;&nbsp; RC Beispiel</FONT></DIV>
<DIV><FONT face="Courier New">Peter&nbsp;&nbsp;&nbsp;&nbsp;
01:20:59&nbsp;&nbsp;&nbsp; RC Beispiel</FONT></DIV>
<DIV><FONT face="Courier New">Franz&nbsp;&nbsp;&nbsp;&nbsp;
01:24:43&nbsp;&nbsp;&nbsp; RC Beispiel</FONT></DIV>
<DIV><FONT face="Courier New">Martin&nbsp;&nbsp;&nbsp;
01:30:04&nbsp;&nbsp;&nbsp; RC Beispiel</FONT></DIV>
<DIV><FONT face="Courier New">Klaus&nbsp;&nbsp;&nbsp;&nbsp;
01:27:34&nbsp;&nbsp;&nbsp; RC Beispiel</FONT></DIV>
<DIV><FONT face="Courier New">Jens&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
01:25:45&nbsp;&nbsp;&nbsp; RC Beispiel</FONT></DIV>
<DIV><FONT face="Courier New">Frank&nbsp;&nbsp;&nbsp;&nbsp;
01:23:56&nbsp;&nbsp;&nbsp; RC Beispiel</FONT></DIV>
<DIV><FONT face="Courier New">Tom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
01:26:32&nbsp;&nbsp;&nbsp; RC Beispiel</FONT></DIV>
<DIV><FONT face="Courier New">Stefan&nbsp;&nbsp;&nbsp;
01:22:22&nbsp;&nbsp;&nbsp; RC Beispiel</FONT></DIV>
<DIV><FONT face="Courier New">Michael&nbsp;&nbsp; 01:23:44&nbsp;&nbsp;&nbsp; RC
Beispiel</FONT></DIV>
<DIV><FONT face="Courier New">Mark&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
01:24:23&nbsp;&nbsp;&nbsp; RC Beispiel</FONT></DIV>
<DIV>usw...</DIV>
<DIV>&nbsp;</DIV>
<DIV>Natà¼rlich sind auch Starter von anderen Vereinen dabei und es gibt auch
Vereine, die nur 3 oder weniger Teilnehmer haben, bei denen also kein Team
gebildet werden kann. Insgesamt habe ich so à¼ber 200 Datensà¤tze.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Daraus soll dann werden:</DIV>
<DIV><FONT face="Courier New"><STRONG>Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Zeit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Verein</STRONG></FONT></DIV>
<DIV><FONT face="Courier New">Peter&nbsp;&nbsp;&nbsp;&nbsp;
01:20:59&nbsp;&nbsp;&nbsp; RC Beispiel 1</FONT></DIV>
<DIV><FONT face="Courier New"><FONT face="Courier New">Stefan&nbsp;&nbsp;&nbsp;
01:22:22&nbsp;&nbsp;&nbsp; RC Beispiel 1</FONT></FONT></DIV>
<DIV><FONT face="Courier New">Michael&nbsp;&nbsp; 01:23:44&nbsp;&nbsp;&nbsp; RC
Beispiel 1</FONT></DIV>
<DIV><FONT face="Courier New">Hans&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
01:23:45&nbsp;&nbsp;&nbsp; RC Beispiel 1</FONT></DIV>
<DIV><FONT face="Courier New">Frank&nbsp;&nbsp;&nbsp;&nbsp;
01:23:56&nbsp;&nbsp;&nbsp; RC Beispiel 2</FONT></DIV>
<DIV><FONT face="Courier New">Mark&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
01:24:23&nbsp;&nbsp;&nbsp; RC Beispiel 2</FONT></DIV>
<DIV><FONT face="Courier New"><FONT
face="Courier New">Jens&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 01:25:45&nbsp;&nbsp;&nbsp;
RC Beispiel 2</FONT></FONT></DIV>
<DIV><FONT face="Courier New">Franz&nbsp;&nbsp;&nbsp;&nbsp;
01:24:43&nbsp;&nbsp;&nbsp; RC Beispiel 2</FONT></DIV>
<DIV><FONT face="Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New">Martin&nbsp;&nbsp;&nbsp;
01:30:04&nbsp;&nbsp;&nbsp; RC Beispiel</FONT></DIV>
<DIV><FONT face="Courier New">Klaus&nbsp;&nbsp;&nbsp;&nbsp;
01:27:34&nbsp;&nbsp;&nbsp; RC Beispiel</FONT></DIV>
<DIV><FONT face="Courier New">Tom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
01:26:32&nbsp;&nbsp;&nbsp; RC Beispiel</FONT></DIV>
<DIV><FONT face="Courier New"></FONT>&nbsp;</DIV>
<DIV>Nachdem Martin, Klaus und Tom kein Team mehr bilden können werden die
Datensà¤tze fà¼r die Mannschaftswertung nicht benötigt und sollen dann natà¼rlich
nicht mehr in der Tabelle enthalten sein.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Ich hoffe ich konnte Euch verstà¤ndlich machen, was ich brauche – ansonsten
einfach nochmal nachfragen, ich werde mich dann natà¼rlich schon aus
Eigeninteresse umgehend melden.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Besten Dank fà¼r Eure Hilfe!</DIV>
<DIV>&nbsp;</DIV>
<DIV>Grà¼àŸe</DIV>
<DIV>Thorsten</DIV>
<DIV><FONT face="Courier New"></FONT>&nbsp;</DIV></DIV></DIV></BODY></HTML>

=_NextPart_000_0010_01CC12D7.55292450--
 

Lesen sie die antworten

#1 Ekkehard Böhme
16/05/2011 - 22:43 | Warnen spam
Hallo Thorsten,

Hallo,

ich bin gerade dabei die Auswertung einer Datenbank für eine
Sportveranstaltung zu schreiben.

Bei einem Problem wird mir das Ganze aber zu schwierig.

Also:
Es gibt Teilnehmer, die in einem Team organisiert sind. Jeder Teilnehmer
startet bei der Veranstaltung (Radrennen) als Einzelstarter. Für die
Mannschaftswertung werden die besten 4 Starter von einem Team (Team 1)
gewertet. Soweit so gut und das Ganze funktioniert bei mir auch. Allerdings
bilden die 4 nàchstbesten Starter in der Mannschaftswertung auf wieder ein
Team (also Team 2, die weiteren 4 auch wieder ein Team (Team 3).

In meiner Datenbank sind natürlich alle Teilnehmer zunàchst für ein Team
angemeldet.

Meine Tabelle schaut also so aus:
Name Zeit Verein
Hans 01:23:45 RC Beispiel
Peter 01:20:59 RC Beispiel
Franz 01:24:43 RC Beispiel
Martin 01:30:04 RC Beispiel
Klaus 01:27:34 RC Beispiel
Jens 01:25:45 RC Beispiel
Frank 01:23:56 RC Beispiel
Tom 01:26:32 RC Beispiel
Stefan 01:22:22 RC Beispiel
Michael 01:23:44 RC Beispiel
Mark 01:24:23 RC Beispiel
usw...

Natürlich sind auch Starter von anderen Vereinen dabei und es gibt auch
Vereine, die nur 3 oder weniger Teilnehmer haben, bei denen also kein Team
gebildet werden kann. Insgesamt habe ich so über 200 Datensàtze.

Daraus soll dann werden:
Name Zeit Verein
Peter 01:20:59 RC Beispiel 1
Stefan 01:22:22 RC Beispiel 1
Michael 01:23:44 RC Beispiel 1
Hans 01:23:45 RC Beispiel 1
Frank 01:23:56 RC Beispiel 2
Mark 01:24:23 RC Beispiel 2
Jens 01:25:45 RC Beispiel 2
Franz 01:24:43 RC Beispiel 2

Martin 01:30:04 RC Beispiel
Klaus 01:27:34 RC Beispiel
Tom 01:26:32 RC Beispiel

Ich bin leider nicht so der SQL-Freak, weiss also nicht ob man das mit einer
"einfachen" Abfrage hinbekommt.
Ausgehend von folgenden vorhandenen Tabellen

tblFahrer: FID, Vorname
tblVerein: VID, Verein
tblErgebnis: ErgID, FID, VID, [Zeit], TeamNr

Die letzte Tabelle sortierst Du per Abfrage (Teams) nach VID und [Zeit].
Per VBA schleifst Du da durch und schreibst die Team-Nummern.
Ungefàhr so (Luftcode, ungestestet)
(Deklarationen hab' ich weggelassen)

Set rsVerein=Currentdb.Openrecordset("tblVerein")

Do While Not rsVerein.EOF
Set rsTeam=Currentdb.Openrecordset("SELECT Teams.* FROM Teams WHERE
VID=" & rsVerein!VID & " ORDER BY [Zeit]")
rsTeam.MoveLast
AnzTeams=Int(rsTeam.RecordCount/4)
rsTeams.MoveFirst
If AnzTeams>=1 then
for t=1 To AnzTeams
for n=1 To 4
rsTeams.Edit
rsTeams!TeamNr=t
rsTeams.Update
rsTeams.MoveNext
next n
next t
end if
rsVerein.MoveNext
Loop

Nachdem Martin, Klaus und Tom kein Team mehr bilden können werden die
Datensàtze für die Mannschaftswertung nicht benötigt und sollen dann
natürlich nicht mehr in der Tabelle enthalten sein.

Doch, die sollten schon drin bleiben; könnte ja sein, dass der Verein beim
nàchsten Mal 4 Teilnehmer meldet. Per Filter über die TeamNr (Not IsNull)
kannst Du die ja ausblenden.

Ich hoffe ich konnte Euch verstàndlich machen, was ich brauche – ansonsten
einfach nochmal nachfragen, ich werde mich dann natürlich schon aus
Eigeninteresse umgehend melden.

Besten Dank für Eure Hilfe!

Grüße
Thorsten

HTH
gruss ekkehard

Ähnliche fragen