DataGrid Sortieren

Hallo,
ich mal wieder ^^

Also nu kommen noch die Letzten schönheitsfunktionen von meinem ach so tollen programm :smile:
Also wie man mittlerweile gewiß mitbekommen hat hab ich n DataGrid mit dem ich da so alles mache. Nun hab ich mir ne Sortieren funktion gebastelt:

Private Sub DGV\_HeadClick(ByVal ColIndex As Integer)
 ' Sort DGV
 Static Sorter As String

 MsgBox ColIndex
 With rsMain
 If Sorter = "Desc" Then
 .Sort = .Fields(0).Name & " Asc"
 Sorter = "Asc"
 Else
 .Sort = .Fields(0).Name & " Desc"
 Sorter = "Desc"
 End If
 End With
End Sub

Sooo ABER das Funktioniert nur bedingt. Und Zwar wird beim 1. Click alles schön in die entgegengesetzte Richtung sortiert halt nach DESC wenn man nun nochmals drauf clickt sortiert er alles durcheinander und die kleinen werte verschwinden irgendwo in der ellenlangen recordliste.

Infos zu der spalte die ich sortieren will:

Artikelnummern Colindex = 0
Artikelnummern = Integer
Artikelnummern = 8 Stellen von 10000001 - 90002373

hat da wer ne erklärung für dieses seltsame verhalten von der funktion?
Und was wichtiger währe ^^ ne lösung? :smiley:

Danke schonmal im vorraus :smile:

grüße von digi ^^

Sooo ich hab zwar ne lösung gefunden. Aber so richtig zufrieden bin ich damit nich.

Private Sub DGV\_HeadClick(ByVal ColIndex As Integer)
 'Sortieren Datagrid
 Static Sorter As String

 With rsMain
 If Sorter = "Desc" Then
 .Sort = "Artikelnummer" & " Asc"
 Sorter = "Asc"
 Else
 .Sort = "Artikelnummer" & " Desc"
 Sorter = "Desc"
 End If
 End With
End Sub

Gibts nich so ne schöne sort funktion wie bei Excel zb?

Grüße
digi … ^^

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

das Datagrid zeigt Dir das Recordset an und erlaubt Dir Veränderungen, wenn Du es zulässt. Nicht weniger aber auch nicht mehr.

Wenn Du die Daten sortiert haben möchtest, gehört das in den SQL-String. … ORDER BY …

Gruß, Rainer

Naja… aber jetz funktioniert es ja wunderbar. Keine ahnung was er gegen Colindex hatte … ^^ wie gesagt nu hab ich explizit die spalte angegeben und gesagt wie er sortieren soll und es geht. Kein eintrag geht verloren reihenfolge wird super sortiert usw.

Das mit dem SQL string is mir klar aber da müsste ich ja bei jedem sortieren nochmal die ganzen aktionen ausführen die schon mit dem grid vom benutzer gemacht worden sind.

Nene… so is das gut wies jetz is :smile:

Danke trotzdem :wink:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]