Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: ---> Neu: Office 2010 Forum <-
Sortieren eines Listenfeldes mit Werteliste
zurück: RibbonX-Workshop / Multifunktionsleiste schnell erstellt weiter: Versionskontrolle in Access mit Subversion - Add-In Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Tutorial Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Willi Wipp
Moderator


Verfasst am:
02. März 2005, 11:55
Rufname:
Wohnort: Raum Wiesbaden

Sortieren eines Listenfeldes mit Werteliste - Sortieren eines Listenfeldes mit Werteliste

Nach oben
       

Hi Alle,

aufgrund des Themas Sortieren ListBox-Inhalt habe ich mal ein kleines Beispiel erstellt.
Verwendet wird der Quicksort-Algorithmus umgesetzt in Access-VBA.
Code:
Function FnsSortRowSource(sRowSource As String, _
                          Optional bSortDesc As Boolean = False) As String
    Dim l           As Long
    Dim sSorted     As String
    Dim saSort()    As String
   
    saSort$ = Split(sRowSource, ";")
    If bSortDesc Then
        QuickSortDesc saSort$(), 0, UBound(saSort$)
      Else
        QuickSortAsc saSort$(), 0, UBound(saSort$)
    End If
    sSorted$ = saSort(0)
    For l& = 1 To UBound(saSort$)
        sSorted$ = sSorted$ & ";" & saSort$(l&)
    Next l&
    FnsSortRowSource$ = sSorted$
End Function

Private Static Sub QuickSortAsc(saSort() As String, lLow As Long, lHigh As Long)
    Dim l1  As Long   'i
    Dim l2  As Long   'j
    Dim sx  As String 'x
   
    l1& = lLow&
    l2& = lHigh&
    sx$ = saSort$((lLow& + lHigh&) / 2)
    Do While l1& <= l2&
        Do While saSort$(l1&) < sx$
            l1& = l1& + 1
        Loop
        Do While saSort$(l2&) > sx$
            l2& = l2& - 1
        Loop
        If l1& <= l2& Then
            Exchange saSort$(), l1&, l2&
            l1& = l1& + 1
            l2& = l2& - 1
        End If
    Loop
    'Rekursion
    If lLow& < l2& Then QuickSortAsc saSort$(), lLow&, l2&
    If l1& < lHigh& Then QuickSortAsc saSort$(), l1&, lHigh&
End Sub

Private Static Sub QuickSortDesc(saSort() As String, lLow As Long, lHigh As Long)
    Dim l1  As Long   'i
    Dim l2  As Long   'j
    Dim sx  As String 'x
   
    l1& = lLow&
    l2& = lHigh&
    sx$ = saSort$((lLow& + lHigh&) / 2)
    Do While l1& <= l2&
        Do While saSort$(l1&) > sx$
            l1& = l1& + 1
        Loop
        Do While saSort$(l2&) < sx$
            l2& = l2& - 1
        Loop
        If l1& <= l2& Then
            Exchange saSort$(), l1&, l2&
            l1& = l1& + 1
            l2& = l2& - 1
        End If
    Loop
    'Rekursion
    If lLow& < l2& Then QuickSortDesc saSort$(), lLow&, l2&
    If l1& < lHigh& Then QuickSortDesc saSort$(), l1&, lHigh&
End Sub

Private Sub Exchange(saSort() As String, l1 As Long, l2 As Long)
    Dim sHelp   As String
   
    sHelp$ = saSort$(l1&)
    saSort$(l1&) = saSort$(l2&)
    saSort$(l2&) = sHelp$
End Sub
Ich habe Ihn hier nur fuer Text-Sortierungen umgesetzt.
_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)


Zuletzt bearbeitet von Willi Wipp am 06. Sep 2005, 10:42, insgesamt einmal bearbeitet
Willi Wipp
Moderator


Verfasst am:
30. Dez 2009, 22:58
Rufname:
Wohnort: Raum Wiesbaden

AW: Sortieren eines Listenfeldes mit Werteliste - AW: Sortieren eines Listenfeldes mit Werteliste

Nach oben
       

Willi Wipp am 02. März 2005 um 11:07 hat folgendes geschrieben:
Hi Alle, und hier eine kleine Beispiel-DB

Hi Alle,

bitte Nachfragen zu diesem Thema im Thema Sortieren eines Listenfeldes mit Werteliste (Nachgefragt) stellen.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)



Sort_lbx_Value_List.zip
 Beschreibung:
(489 +Downlaods)

Download
 Dateiname:  Sort_lbx_Value_List.zip
 Dateigröße:  10.21 KB
 Heruntergeladen:  61 mal

Gast



Verfasst am:
03. Jan 2010, 16:18
Rufname:


AW: Sortieren eines Listenfeldes mit Werteliste - AW: Sortieren eines Listenfeldes mit Werteliste

Nach oben
       

Hallo Willi Wipp,

vielen Dank für diesen Denkanstoß.
Die Funktion für das Sortieren eines Listenfeldes ist absolute Spitze.
Ich denke die werde ich noch öffters verwenden.

Ich wünsche dir für das neuen Jahr alles Gute und noch mehr von diesen super Umsetzungen.

cu hope
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Programmierung / VBA: Erste Spalte in Listbox alphabetisch sortieren 1 Chris389 333 16. Feb 2010, 15:31
KlausMz Erste Spalte in Listbox alphabetisch sortieren
Keine neuen Beiträge Access Programmierung / VBA: Tabelle sortieren 10 Willy1002 204 09. Jun 2009, 17:01
Marmeladenglas Tabelle sortieren
Keine neuen Beiträge Access Programmierung / VBA: Datensätze filtern und sortieren beim öffnen eines Formulars 2 bama75 3276 04. Nov 2008, 14:51
Denise28 Datensätze filtern und sortieren beim öffnen eines Formulars
Keine neuen Beiträge Access Berichte: Daten nach Wochentagen sortieren 15 AccessDummy 915 18. Jul 2008, 20:45
KlausMz Daten nach Wochentagen sortieren
Keine neuen Beiträge Access Berichte: Bericht für Elemente eines Listenfeldes erstellen 0 jape 201 09. Jun 2008, 21:42
jape Bericht für Elemente eines Listenfeldes erstellen
Keine neuen Beiträge Access Formulare: Listenfeld sortieren mit mehreren Zeichen. 14 OdagTheCrow 402 27. Apr 2008, 00:53
Gast Listenfeld sortieren mit mehreren Zeichen.
Keine neuen Beiträge Access Formulare: Abfrage Struktur --> automatisch sortieren (SerienBrief) 0 dondanielo 308 28. Sep 2007, 11:13
dondanielo Abfrage Struktur --> automatisch sortieren (SerienBrief)
Keine neuen Beiträge Access Berichte: Datum sortieren 3 skywalkerluk 518 05. Jul 2007, 15:31
KlausMz Datum sortieren
Keine neuen Beiträge Access Programmierung / VBA: Aus Access auf Excel Tabelle zugreifen und Sortieren 5 Marja 1941 21. Mai 2007, 13:00
Marja Aus Access auf Excel Tabelle zugreifen und Sortieren
Keine neuen Beiträge Access Formulare: Listenfeld mit allen Datensätzen sortieren 26 Roemer1 1619 14. Mai 2007, 15:00
Roemer Listenfeld mit allen Datensätzen sortieren
Keine neuen Beiträge Access Formulare: Werteliste aus d. Tabelle für ein Formular Kombifd. nutzen? 2 Mirko123 306 07. Mai 2007, 18:42
Mirko123 Werteliste aus d. Tabelle für ein Formular Kombifd. nutzen?
Keine neuen Beiträge Access Formulare: Unterformular sortieren 2 Peterwa 826 28. März 2007, 13:25
Gast Unterformular sortieren
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Diagramme