PDA

Vollständige Version anzeigen : Rang errechnen anhand von einer Punktezahl


rolf.balmer
29.09.2005, 07:24
Hallo zusammen

Habe schon vieles ausprobiert aber dieses Script funktioniert nicht richtig!
Bei dieser Berechnung des Ranges ist immer die tiefste Zahl auf Rang 1 und nicht die höchste Zahl.
Kann mir jemand helfen wie ich das umkehren kann?

Besten Dank und bis dann
Rolf

Script:

Private Sub BerRang_Click()
Dim AktPunkt, MerkRang, AktRang, DB As Database, RS As Recordset
Set DB = CurrentDb()
Set RS = DB.OpenRecordset("SELECT * FROM TTest ORDER BY Punkt", dbOpenDynaset)
AktPunkt = 0
AktRang = 0
Do While Not RS.EOF
AktRang = AktRang + 1
If AktPunkt <> RS!Punkt Then MerkRang = AktRang
AktPunkt = RS!Punkt
RS.Edit
RS!Rang = MerkRang
RS.UpDate
RS.MoveNext
Loop
RS.Close
Me.Requery
End Sub

Lanz Rudolf
29.09.2005, 08:36
Hallo
Such doch mal hier im Forum nach "Rang" (ev. Nur Titel) da findest Du viele Beiträge unter anderen auch dieser (http://www.ms-office-forum.net/forum/showthread.php?t=116101&highlight=rang)

rolf.balmer
29.09.2005, 10:18
Hallo Ruedi

Ich habe nichts gefunden dass mir weiterhelfen konnte.
Die Scripte beziehen sich immer auf eine Zeit und nicht auf eine Zahl!!!

Vieleicht kann mir ja jemand weiter helfen!

Gruss Rolf

Lanz Rudolf
29.09.2005, 11:34
Hallo
und so?

Dim AktPunkt, MerkRang, AktRang, DB As Database, RS As Recordset
Set DB = CurrentDb()
Set RS = DB.OpenRecordset("SELECT * FROM TTest ORDER BY Punkt desc", dbOpenDynaset)
AktPunkt = 0
AktRang = 0
Do While Not RS.EOF
AktRang = AktRang + 1
If AktPunkt <> RS!Punkt Then MerkRang = AktRang
AktPunkt = RS!Punkt
RS.Edit
RS!Rang = MerkRang
RS.Update
RS.MoveNext
Loop
RS.Close

rolf.balmer
29.09.2005, 11:53
Besten Dank

Es hat geklappt.
Gruss
Rolf