Hallo,
ich habe ein Listenfeld und möchte dieses durch drücken eines Button z.B. nach Namen aufsteigend sortieren.
Dazu habe ich folgenden vba Code:
Private Sub cmdNachNameSortieren_Click()
Me.OrderBy = "EveBezeichnung"
Me.OrderByOn = True
Me.lstEventAuswahl.Requery
End Sub
EveBezeichnung ist die betreffende Spalte im Listenfeld lstEventAuswahl
Ergebnis: es tut sich absolut nichts.
Seit Stunden probiere ich nun rum und komme nicht weiter.
Kann mir jemand einen Tip geben.
Gruß
pmmuc
Hallo,
das ist Code um ein Formular (Me ist das Formular) zu sortieren, damit kann man kein Listenfeld (um)sortieren.
Du musst dem Listfeld eine anderst sortierte Datenquelle zuweisen.
Wie lautet die Datenherkunft des Listenfeldes?
Wenn das eine Tabelle ist, erstelle eine Abfrage und dann zeigst Du den SQL Code der Abfrage.
Warum sortierst Du das Listenfeld nicht gleich richtig sondern erst durch einen Button ?
Zitates tut sich absolut nichts
Nun, das Listenfeld kümmert es nicht, wenn Du eine Sortieren-Anweisung an ein Formular schickst. Warum auch.
Vielen Dank für Eure schnellen Antworten.
Button brauche ich, da es davon mehrere gibt und bei jedem Button anders sortiert wird.
Wenn ich das richtig verstehe, muss ich für jede Sortierung (sprich für jeden Button) eine eigene Abfrage erstellen und den jeweiligen SQL-Code aus der Abfrage in die Programmierung einbinden.
Da ich mit SQL bisher nichts gemacht habe, könnt Ihr mir evtl. noch einen Hinweis geben, wie ich den SQL-Code in mein VBA einbinden muss.
Gruß
pmmuc
Hallo,
Zitatmuss ich für jede Sortierung (sprich für jeden Button) eine eigene Abfrage erstellen
Nein, Du kannst dem Listenfeld direkt eine anderes SQL Anweisung mitgeben ind der die gewünschte Sortierung eingestellt wird.
Daher fragte ich ja nach der Datenherkunft des Listenfeldes, hast Du aber nicht beantwortet.
Das hört sich sehr gut an.
Der Herkunftstyp ist eine Tabelle und die Datensatzherkunft ist aktuell
SELECT tblEvent.EventID, tblEvent.EveDatum, tblEvent.EveBezeichnung FROM tblEvent
Gruß
pmmuc
Hallo,
so:
Private Sub cmdNachNameSortieren_Click()
Me.lstEventAuswahl.RowSource = "SELECT EventID, EveDatum, EveBezeichnung FROM tblEvent ORDER BY EveBezeichnung"
End Sub
Super, Danke,
genau das hat mir gefehlt, funktioniert einwandfrei
Gruß
pmmuc