Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: joschi50 am Juli 01, 2022, 13:56:41

Titel: Rangliste mit gleichen Siegerplätzen
Beitrag von: joschi50 am Juli 01, 2022, 13:56:41
Hallo,

ich habe eine Tabelle mit 12 Turnierteilnehmern.
Die Tabelle erhält eine Gesamtpunktzahl für jeden Teilnehmer.
Gesamtpunktzahlen können jedoch gleich sein, daher würden sich diese einen Ranglistenplatz teilen.
Mit welcher Funktion kann ich den Rang in die Tabelle schreiben so dass z.B. der erste Platz ggf. 2x vergeben wird, gefolgt von Platz 2,3,4....2x Platz 5 und dann 6,7,8....
Als Rang also
1. Müller
1. Maier
2. Bauer
3. Hausner
4. Kramer
5. Schmidt
5. Gruber
6....
7...
Hoffe ihr könnt helfen.
Titel: Re: Rangliste mit gleichen Siegerplätzen
Beitrag von: PhilS am Juli 01, 2022, 14:20:53
Ich glaube FAQ 3.1 - 3.11 Laufende Nummer/Summe in Abfragen (https://www.donkarl.com?FAQ3.11) - könnte dir weiterhelfen, wenn du dich auf deine Punktzahl anstelle der ID in dem Beispiel beziehst.
Wenn du das unbedingt in eine Tabelle schreiben willst, was üblicherweise nicht nötig ist, verwendest du eine Anfügeabfrage anstelle einer Auswahlabfrage.
Titel: Re: Rangliste mit gleichen Siegerplätzen
Beitrag von: joschi50 am Juli 01, 2022, 14:31:42
Eine vorläufige Gewinnerliste (Tabelle), in der die Teilnehmer sortiert nach Gesamtpunktzahl stehen, habe ich mit einer Anfügeabfrage ja schon erzeugt.
Ich möchte aber in dem Gewinnerbericht eine Plazierung ausweisen, die z.B. 2x den ersten Platz ermöglicht, gefolgt vom 2. Platz.
Titel: Re: Rangliste mit gleichen Siegerplätzen
Beitrag von: DF6GL am Juli 01, 2022, 14:39:55
Hallo,

vielleicht hilft Dir dieses weiter:

https://web.archive.org/web/20200222225524/http://dbwiki.net/images/1/13/AccSampleRang.zip
Titel: Re: Rangliste mit gleichen Siegerplätzen
Beitrag von: PhilS am Juli 01, 2022, 14:48:57
Zitat von: joschi50 am Juli 01, 2022, 14:31:42Ich möchte aber in dem Gewinnerbericht eine Plazierung ausweisen, die z.B. 2x den ersten Platz ermöglicht, gefolgt vom 2. Platz.
Worin unterscheidet sich eine Platzierung denn von einer Nummerierung?

Die Mehrfachvergabe von einem Platz ergibt sich automatisch, wenn du keine eindeutige ID, sondern deine Punkte verwendest.
Titel: Re: Rangliste mit gleichen Siegerplätzen
Beitrag von: joschi50 am Juli 01, 2022, 15:46:45
Also der Tip von DF6GL hat mir schon mal ein Stück weitergeholfen.
Den Code habe ich abgeändert.
Teilweise schon richtig. Allerdings ermittelt er jetzt folgende Rangliste siehe Tabelle.
4 x Platz 1 wäre richtig da gleiche Punktzahl
Die Funktion müsste dann aber als nächstes den Platz 2 und nicht den Platz 5 ermitteln.


Hier mein Code:
Dim Aktzahl, MerkRang, AktRang, DB As Database, RS2 As Recordset
  Set DB = CurrentDb()
  Set RS2 = DB.OpenRecordset("SELECT * FROM Gewinnerliste12 ", dbOpenDynaset)
  AktZeit = 0
  Do While Not RS2.EOF
    'If Aktzahl = RS2!Gesamtzahl Then AktRang = 0
    AktRang = AktRang + 1
    If Aktzahl <> RS2!Gesamtzahl Then MerkRang = AktRang
   
    Aktzahl = RS2!Gesamtzahl
    RS2.Edit
    RS2!Rang = MerkRang
    RS2.Update
   
    RS2.MoveNext
  Loop
  RS2.Close
  Me.Requery
Titel: Re: Rangliste mit gleichen Siegerplätzen
Beitrag von: joschi50 am Juli 01, 2022, 15:47:26
gewinner2.JPG