Access-o-Mania

Access-Forum => Access Programmierung => Thema gestartet von: DaveWilli am Januar 27, 2022, 08:06:00

Titel: Erster Wert in Listenfeld in Formular anzeigen
Beitrag von: DaveWilli am Januar 27, 2022, 08:06:00
Hallo zusammen,
ich habe bereits viel gegoogelt und bin zu keinem Ergebnis zu meinem Problem gekommen.
Hier mein Problem:
Ich habe ein Listenfeld, basierend auf einer Tabelle, welches aber nicht wie die Tabelle sortiert ist, sondern nach dem Datum sortiert ist (also Listenfeld hat andere Reihenfolge als Tabelle).
Jetzt wird beim öffenen des Formulars aber immer der erste Wert der Tabelle angezeigt, und nicht der erste Wert des Listenfeldes.
Mein VBS-Code siet so aus:
Private Sub Form_Open(Cancel As Integer)

    If Nz(lstKulturfolge.ListCount) > 0 Then
    Me!lstKulturfolge = Me!lstKulturfolge.ItemData(0)
    Call lstKulturfolge_AfterUpdate
    End If

End Sub

Private Sub lstKulturfolge_AfterUpdate()

    If Not IsNull(lstKulturfolge) Then Me.Recordset.FindFirst "par_kulID=" & Me!lstKulturfolge

End Sub


Was muss ich anders machen, damit ich zum Erfolg komme?
Vielen Dank schon einmal.
Titel: Re: Erster Wert in Listenfeld in Formular anzeigen
Beitrag von: DaveWilli am Januar 27, 2022, 08:48:59
Tatsächlich hat sichs jetzt doch erledigt. Bitte Thema löschen.
Titel: Re: Erster Wert in Listenfeld in Formular anzeigen
Beitrag von: DF6GL am Januar 27, 2022, 08:55:21
Hallo,

sortiere gleich in einer Abfrage für das Formular  (Datenherkunft) entsprechend der Abfrage für das Listenfeld:

Select * from tblTabelle Order by Datum

Dann braucht es nicht diesen überflüssigen Aufwand mit dem Listenfeld...

Zudem wäre Form_Open eh ein falsch benutztes Ereignis. Zu diesem Zeitpunkt sind noch keine Daten geladen (---> Form_Load)  und der Code arbeitet im "Leeren".



Die Reihenfolge in einer Tabelle ist nicht "sortiert",  sie richtet sich nach der Abfolge der Datensatz-Eingaben. Definiertes Sortieren ist nur in Abfragen oder über die Form-Eigenschaft "Sortieren Nach" ( VBA: Me.OrderBy)  möglich. (Weitere Sortier-Möglichkeiten lasse ich hier außen vor.)