Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Sortieren eines Listenfeldes mit Werteliste
zurück: Datenmodell entwickeln: Welche Tabellen und Beziehungen? weiter: Versionskontrolle in Access mit Subversion - Add-In Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Tutorial Facebook-Likes 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:  160 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 Tabellen & Abfragen: Sortieren im Formular der Reihe nach (mit TAb springen) 1 Ptdidi 601 16. Mai 2009, 10:27
Gast Sortieren im Formular der Reihe nach (mit TAb springen)
Keine neuen Beiträge Access Tabellen & Abfragen: Datum nach größer sortieren 2 DecoSys 275 03. Apr 2009, 16:26
DecoSys Datum nach größer sortieren
Keine neuen Beiträge Access Tabellen & Abfragen: Kombinationsfeld - Eingabe direkt in Werteliste 5 Gast 3656 24. März 2009, 18:33
20zero1 Kombinationsfeld - Eingabe direkt in Werteliste
Keine neuen Beiträge Access Tabellen & Abfragen: Nachträglich Umkodieren und Werteliste einfügen 9 Gast 2414 02. Feb 2009, 23:38
spot-ffm Nachträglich Umkodieren und Werteliste einfügen
Keine neuen Beiträge Access Tabellen & Abfragen: Aktualisierungsabfrage sortieren 1 pamo85 786 30. Sep 2008, 14:55
Willi Wipp Aktualisierungsabfrage sortieren
Keine neuen Beiträge Access Tabellen & Abfragen: Datenbank sortieren bzw. filtern HILFE !!!!! 2 janky 286 27. Aug 2008, 11:06
Gast Datenbank sortieren bzw. filtern HILFE !!!!!
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage individuell sortieren 3 Otscho80 884 08. Aug 2008, 20:01
MiLie Abfrage individuell sortieren
Keine neuen Beiträge Access Tabellen & Abfragen: Datum sortieren 16 michasiebert 1604 19. Dez 2007, 10:47
michasiebert Datum sortieren
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragen sortieren, Problem 2 Markos 373 18. Dez 2007, 17:05
Markos Abfragen sortieren, Problem
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle soll nicht automatisch sortieren 2 MenschMarc 805 17. Aug 2007, 17:58
MenschMarc Tabelle soll nicht automatisch sortieren
Keine neuen Beiträge Access Tabellen & Abfragen: Zeile eines Listenfeldes hervorheben 5 c.h.r.i.s.s 494 19. Mai 2007, 21:56
jens05 Zeile eines Listenfeldes hervorheben
Keine neuen Beiträge Access Tabellen & Abfragen: Sortieren und eine Kombobox 3 Hektor 479 13. März 2007, 19:12
Hektor Sortieren und eine Kombobox
 

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