Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: pmmuc am August 01, 2020, 16:01:41

Titel: Listenfeld per vba sortieren
Beitrag von: pmmuc am August 01, 2020, 16:01:41
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
Titel: Re: Listenfeld per vba sortieren
Beitrag von: MzKlMu am August 01, 2020, 16:29:57
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 ?
Titel: Re: Listenfeld per vba sortieren
Beitrag von: ebs17 am August 01, 2020, 18:30:00
Zitates tut sich absolut nichts
Nun, das Listenfeld kümmert es nicht, wenn Du eine Sortieren-Anweisung an ein Formular schickst. Warum auch.
Titel: Re: Listenfeld per vba sortieren
Beitrag von: pmmuc am August 01, 2020, 22:26:09
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
Titel: Re: Listenfeld per vba sortieren
Beitrag von: MzKlMu am August 01, 2020, 23:42:14
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.
Titel: Re: Listenfeld per vba sortieren
Beitrag von: pmmuc am August 02, 2020, 08:14:19
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
Titel: Re: Listenfeld per vba sortieren
Beitrag von: MzKlMu am August 02, 2020, 08:37:58
Hallo,
so:
Private Sub cmdNachNameSortieren_Click()
    Me.lstEventAuswahl.RowSource = "SELECT EventID, EveDatum, EveBezeichnung FROM tblEvent ORDER BY EveBezeichnung"
End Sub
Titel: Re: Listenfeld per vba sortieren
Beitrag von: pmmuc am August 02, 2020, 09:23:31
Super, Danke,
genau das hat mir gefehlt, funktioniert einwandfrei

Gruß
pmmuc