Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Gast am September 26, 2011, 11:54:38

Titel: KOmbinationsfeld alphabetisch sortieren
Beitrag von: Gast am September 26, 2011, 11:54:38
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
Titel: Re: KOmbinationsfeld alphabetisch sortieren
Beitrag von: Basti123 am September 26, 2011, 12:18:17
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 (http://www.arstechnica.de/index.html?name=http://www.arstechnica.de/computer/msoffice/vba/vba0018.html)

Grüße
Basti
Titel: Re: KOmbinationsfeld alphabetisch sortieren
Beitrag von: Gast am September 26, 2011, 12:20:43
in diesem speziellen formular gibt es keine select anweisung. das feld bekommt die daten aus einer funktion namens fListFill
Titel: Re: KOmbinationsfeld alphabetisch sortieren
Beitrag von: Basti123 am September 26, 2011, 12:25:33
Hab meinen Beitrag nochmal geändert. Vielleicht hilft dir ja das? Wenn du am Ende der funktion fListFill noch ListeSortieren Me.Kombifeld eingibst?
Titel: Re: KOmbinationsfeld alphabetisch sortieren
Beitrag von: Gast am September 26, 2011, 12:48:41
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
Titel: Re: KOmbinationsfeld alphabetisch sortieren
Beitrag von: database am September 26, 2011, 19:50:48
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"