darkchyld Geschrieben 7. Juni 2010 Teilen Geschrieben 7. Juni 2010 Hallo, suche Lösung für meine WM2010-Tipp-Programm Problematik: Ich habe eine kleine Gridtabelle die mit einer Datenbank gebunden ist. 3 cols (0-Col ist die Überschrift-Col, gefolgt von Col1 und Col2) 6 rows (0-Row ist wieder eine Überschrift, gefolgt von Row 1-5) Col1 = Spieler Col 2 = Punkte Die Punkte für den jeweiligen Spieler passen, jetzt will ich die aber in einer Art Rangliste angezeigt haben, d.h. Der Spieler mit der höchsten Punktzahl soll den 1 Platz belegen, gefolgt von Platz 2 usw. Wie also kann ich die 0-Col mit statischen Werten wie Platz 1 bis xxx füllen und trotzdem meine Spieler nach höchster Punktzahl sortieren. Ich hab da was mit fg.select und fg sort = flexDortGenericAscending ausprobiert aber des funzt net so wie ich will. (die Punkte parameter übergebe ich direkt in den Grid, d.h. ich speicher es nicht irgendwo in einer Datenbank) Wer kann mir weiterhelfen, die WM fängt ja in ein paar tagen an ;-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
darkchyld Geschrieben 7. Juni 2010 Autor Teilen Geschrieben 7. Juni 2010 Zur besseren Verständnis hier die Quellcodes: Private Sub Form_Load() Dim strSql As String Dim rs As New ADODB.Recordset Dim i As Integer On Error GoTo Form_Load_err rs.CursorLocation = adUseClient 'i = 1 strSql = "Select * From UserName order by UserName.Punkte desc" rs.Open strSql, adoCon, adOpenStatic, adLockReadOnly Do While Not rs.EOF gridHighscore.AddItem vbTab & _ GetField(rs, "UserName") & vbTab & _ GetPunktestand(GetField(rs, "id")) 'i = i + 1 rs.MoveNext Loop '1, 1, 1, 2 gridHighscore.Select 1, 2 'gridHighscore.ColSort(0) = flexSortNone gridHighscore.Sort = flexSortGenericDescending 'gridHighscore.Sort 0, gridHighscore.Rows - 1, 0, 1 rs.Close Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 7. Juni 2010 Teilen Geschrieben 7. Juni 2010 Du darfst auch gern die Code-Tags benutzen. Auf welches Grid (von welchem Hersteller) bezieht sich das Ganze? VSFlex7/8 von Videosoft? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
darkchyld Geschrieben 8. Juni 2010 Autor Teilen Geschrieben 8. Juni 2010 Sorry, mein Fehler... Bin normalerweise in der Systemadministration... Bin nur aus Spass und aus persönlicher fortbildungsinteresse bei den Programmierern gelandet ;-) also habt ein bischen Geduld, ich mach das erst seit 2 Wochen. Es ist VSFlexGrid Pro 7 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 8. Juni 2010 Teilen Geschrieben 8. Juni 2010 Hallo, dein (auskommentierter) Ansatz mit dem Zähler i ist doch schon ok. Diesen Zähler weist du innerhalb des do...loop für die aktuelle Zeile und passende Spalte zu und erhöhst ihn am Ende der Schleife um 1. Gruß Martin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
darkchyld Geschrieben 9. Juni 2010 Autor Teilen Geschrieben 9. Juni 2010 Hi Martin, hab's letztendlich anders gelöst. Ich habe eine statische Col (grau markiert) mit den Rängen Platz 1 bis xx angelegt. die ändert sich dann nie. Die anderen Cols tue ich order by Punktestand und Name asc. Trotzdem danke für Deine Überprüfung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 9. Juni 2010 Teilen Geschrieben 9. Juni 2010 Hi das geht vermutlich, ich halte es aber für unflexibel, wenn man z.B. an geteilte Plätze wegen Punktgleichheit denkt. ;-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
darkchyld Geschrieben 9. Juni 2010 Autor Teilen Geschrieben 9. Juni 2010 Hmm... da hast Du vermutlich recht, dann müssen wir privat eine Lösung für dieses logisches Problem lösen. P.S. ich hab ein neues Problem -> siehe neusten Eintrag: Gridtabelle oder so ähnlich Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
darkchyld Geschrieben 10. Juni 2010 Autor Teilen Geschrieben 10. Juni 2010 anscheinend denken die anderen Tipper auch so wie Du... Die wollen bei Punkte Gleichheit auch den geteilten xten-Platz haben. Jetzt ist nur die Frage: Nur wie? Sprach Zeus???? Bitte um schnelle Antwort, noch 1x schlafen bis zur WM:bimei Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 10. Juni 2010 Teilen Geschrieben 10. Juni 2010 Genauso, wie ich oben geschrieben habe, allerdings schreibst du den Zähler nur ins Grid, wenn sich die Pkt.zahl zur vorhergehenden unterscheidet, sonst nimmst du die Platznr. des Vorgängers. Hierbei muß natürlich das Grid vorab nach Pkt.zahl sortiert sein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.