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
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
in diesem speziellen formular gibt es keine select anweisung. das feld bekommt die daten aus einer funktion namens fListFill
Hab meinen Beitrag nochmal geändert. Vielleicht hilft dir ja das? Wenn du am Ende der funktion fListFill noch ListeSortieren Me.Kombifeld eingibst?
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
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"