Neuigkeiten:

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

Mobiles Hauptmenü

Sortieren über 2 Spalten in Abfrage

Begonnen von Skaletti, April 11, 2013, 11:12:54

⏪ vorheriges - nächstes ⏩

Skaletti

Hallo und Guten Morgen.
Ich bin zum erstenmal in diesem Forum, und was Access beztrifft noch Anfänger.Von einer Visual Basic Anwendung aus werden durch die Eingaben
in ein DataGridView die Daten in einer Access Datenbank und deren Tabelle gespeichert. Es handelt sich um eine Turniertabelle mit Ergebnissen.
Von dieser Tabelle gibt es eine Auswahlabfrage in der in der Spalte "Gesamt" die Ergebnisse addiert und Absteigend sortiert werden. Gib es hier
ein Ergebnisgleichstand zwischen 2 Sportlern, ist ein Stechergebnis erforderlich, welches in der darauffolgenden Spalte "Stechen" eingetragen wird.
Hier sollen jetzt nach Stechergebnis die beiden Sportler wenn nötig Absteigend sortiert werden.
Access 2010 - DB.accdb

Beispiel:

Name:            Wert1   Wert2    Wert3    Gesamt:     Stechen:
Udo                10        10         10          30     
Heinz              10        10         9            29             9
Karl                10        10         9            29             10
Klaus              10        10         8            28

Heinz und Karl haben jetzt das gleiche Gesamtergebnis, im Stechen aber 9 zu 10. Hier müssten jetzt die Plätze getauscht werden. Ist das
machbar, wenn ja bitte wie??
Könnte man wenn nötig eine kleine Testdatenbank, vieleicht gezipt, posten?
Für jede Hilfe meinen Dank im Voraus.
Gruß Skaletti!

Maxel

Multipliziere das Gesamtergebnis mit 1000 (oder einem anderen ausreichend großen Wert) und addiere dazu das Ergebnis aus dem Stechen. Die Summe sortierst Du absteigend.
Viele Grüße
Maxel

Stapi

Hallo

Warum muss in der Spalte ein Wert Vorgegeben werden und dann "Multipliziert" werden.

Wenn das ganze als Abfrage aufgebaut ist wie beschrieben, dann ist es auch Möglich  beide Spalten in der Abfrage zu sortieren.
Spalte Gesamt: Aufsteigend
Spalte Stechen: Absteigend

Verstehe hier wirklich nicht wo das Problem liegt
Grüße aus dem schönen NRW
Stefan

Skaletti

Hallo Maxel, Stapi,
vielen Dank für eure schnellen Antworten.
Was Maxel vorschlägt kann ich leider so nicht gebrauchen.
Stapis Vorschlag würde funzen, aber ich muss beides Absteigend sortieren,dann funzt es nicht. Die beiden Ergebnisgleichen müssen lediglich
die Plätze tauschen. Habe mal eine Testdatei angefügt.
Gruß Skaletti

[Anhang gelöscht durch Administrator]

bahasu

Hi,

Deinen Anhang kann ich nicht öffnen wegen .rar.
Vermutlich deshalb kann ich auch nicht nachvollziehen, warum der gute Vorschlag von Stapi nicht funktioniert.

Wenn Du beiden Spalten (Gesamt und Stechen) absteigend sortierst, ist doch Karl vor Heinz.

Harald
Servus

ebs17

#5
Das eigentlich ausreichende Sortieren funktioniert deswegen nicht, weil die Ringsummen von Josef und Daniela, obwohl beide mit 104,5 sichtbar, nicht gleich sind. Als Test: Die nachfolgende Abfrage zeigt eine leere Ergebnismenge, was bei einer Gleichheit nicht sein dürfte.

SELECT
   F1.*
FROM
   [Finale LG aufgelegt] AS F1
       INNER JOIN [Finale LG aufgelegt] AS F2
       ON F1.Gesamt = F2.Gesamt
WHERE
   F1.ID < F2.ID

Der Grund hierfür ist nicht offensichtlich, vermutlich wirkt hier die Fließzahlenproblematik (bei einer einfachen Addition sehr ungewöhnlich). Statt Double solltest Du es mit den Datentypen Dezimal oder Currency versuchen.

Alternative: Ergebnis einfach noch einmal auf die sichtbaren Dezimalstellen runden.
ORDER BY
  Round([S1]+[S2]+[S3]+[S4]+[S5]+[S6]+[S7]+[S8]+[S9]+[S10], 1) DESC ,
  [Finaleingabe LG aufg].Stechschuß DESC


MfGA
ebs
Mit freundlichem Glück Auf!

Eberhard

Skaletti

Hallo Harald, Hallo ebs,
es tut mir leid das ich mich erst jetzt melde, war unterwegs.
Vielen Dank für eure Antworten.
Auch wenn ich es noch nicht richtig verstanden habe, es funzt mit  dem Code

ORDER BY    Round([S1]+[S2]+[S3]+[S4]+[S5]+[S6]+[S7]+[S8]+[S9]+[S10], 1) DESC ,    [Finaleingabe LG aufg].Stechschuß DESC

Mit Dezimal und Currency hats nicht geklappt.
Sortiert wird jetzt richtig. :D
Gruß Skaletti.