[Eine Seite zurück] [Übersicht] [Eine Seite vor]

Benutzung auf eigene Gefahr !
Keine Garantie für garnichts !

Ungebundene Listen-/ Kombinationsfelder sortieren

Sprache / Programm: Access ab Version 97
Beschreibung

Sortiert ein einspaltiges ungebundenes Listenfeld oder Kombinationsfeld in aufsteigende Reihenfolge.

VBA-Quelltext
Public Sub ListeSortieren(Liste As Object)
    Dim ZeileA As Integer, ZeileB As Integer
    Dim SortierteListe As String, TEMP
    Dim ListenEinträge()
    ReDim ListenEinträge(0 To Liste.ListCount - 1)
   
    ' In Datenfeld einlesen und sortieren
    For ZeileA = 0 To Liste.ListCount - 1
        ListenEinträge(ZeileA) = Liste.Column(0, ZeileA)
        For ZeileB = ZeileA To 1 Step -1
            If ListenEinträge(ZeileB) < ListenEinträge(ZeileB - 1) Then
                TEMP = ListenEinträge(ZeileB)
                ListenEinträge(ZeileB) = ListenEinträge(ZeileB - 1)
                ListenEinträge(ZeileB - 1) = TEMP
            End If
        Next ZeileB
    Next ZeileA
   
    ' An Liste zurückgeben
    SortierteListe = vbNullString
    For ZeileA = 0 To Liste.ListCount - 1
        If InStr(1, ListenEinträge(ZeileA), ";") = 0 Then
            SortierteListe = SortierteListe & ";" & ListenEinträge(ZeileA)
        Else
            SortierteListe = SortierteListe & ";""" & ListenEinträge(ZeileA) & """"
        End If
    Next ZeileA
   
    Liste.RowSource = Mid(SortierteListe, 2)
End Sub
Argumente der Funktion/Prozedur

Liste

Listbox oder ComboBox-Objekt
Verwendete Variable

ZeileA

Zähler

ZeileB

Zähler
Anwendungsbeispiel(e)...

Wird eine Schaltfläche mit der Prozedur 'Start_Click()' verknüpft, dann sortiert das folgende Programm zunächst  das Listenfeld 'Liste' und dann das Kombinationsfeld 'KombiFeld', jeweils in aufsteigende Reihenfolge.

    Private Sub Start_Click()

        ListeSortieren Me.Liste

        ListeSortieren Me.KombiFeld

    End Sub

Hinweis

Der Algorithmus entspricht Bubble-Sort, da aber ein ungebundenes Listenfeld sortiert wird, ist die Anzahl aller Zeichen auf 2048 begrenzt und die Laufzeitnachteile von Bubble-Sort fallen nicht ins Gewicht.

Anwendungsgebiete, Fehler und Warnungen

Nur Listbox- und ComboBox-Objekte mit folgenden Eigenschaften können sortiert werden:

  • Spaltenanzahl: 1
  • Steuerelementinhalt: (Ungebunden)
  • Herkunftstyp: Wertliste