Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

KOmbinationsfeld alphabetisch sortieren

Begonnen von Gast, September 26, 2011, 11:54:38

⏪ vorheriges - nächstes ⏩

Gast

Hallo,


ich habe ein kombinationsfeld in einem formular, in dem ich die spaltenüberschiften einer abfrage auswählen kann, um diese zu durchsuchen. diese überschriften werden immer in zufälliger reihenfolge angezeigt. jedes mal eine neue reihenfolge.
kann man diese acht überschriften nach alphabet sortieren?

ich benutze das frm Search aus der Know-how DB.

vielen dank

Basti123

#1
Hallo,
setz doch einfach noch ein "ORDER BY feldname" hinter die SELECT-Anweisung in der Datensatzherkunft..

[EDIT]: hier gehts ja um Überschriften :-/ upps ^^

hab das hier noch gefunden vielleicht hilft das weiter:

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


Private Sub Start_Click()

    ListeSortieren Me.Liste


    ListeSortieren Me.KombiFeld


End Sub


Quelle:  http://www.arstechnica.de/index.html?name=http://www.arstechnica.de/computer/msoffice/vba/vba0018.html

Grüße
Basti

Gast

in diesem speziellen formular gibt es keine select anweisung. das feld bekommt die daten aus einer funktion namens fListFill

Basti123

Hab meinen Beitrag nochmal geändert. Vielleicht hilft dir ja das? Wenn du am Ende der funktion fListFill noch ListeSortieren Me.Kombifeld eingibst?

Gast

in dem link steht dass nur combofelder mit wertliste als herkunftstyp benutzt werden können. mein herkunftstyp ist aber die funktion flList Fill.

Trotzdem danke

database

Hallo,

Zitat... mit wertliste als herkunftstyp benutzt werden  ...
Diese Werteliste wird ja hiermit erzeugt:

SortierteListe = SortierteListe & ";" & ListenEinträge(ZeileA)

und wenn du ganz sicher gehen willst, dann baust du die folgende Zeile VOR der Befüllung noch ein

Me!DeinKombifeld.RowSourceType = "Value List"    

bzw.

Forms!DeinFormular!DeinKombifeld.RowSourceType = "Value List"