|
Sortieren eines Listenfeldes mit Werteliste
|
| Autor |
Nachricht |
Willi Wipp
Moderator

Verfasst am: 02. März 2005, 10:55 Rufname:
Wohnort: Raum Wiesbaden
|
|
| |
|
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, 09:42, insgesamt einmal bearbeitet |
|
Willi Wipp
Moderator

Verfasst am: 30. Dez 2009, 21:58 Rufname:
Wohnort: Raum Wiesbaden
|
|
| |
|
| 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)
| Beschreibung: |
|
 Download |
| Dateiname: |
Sort_lbx_Value_List.zip |
| Dateigröße: |
10.21 KB |
| Heruntergeladen: |
34 mal |
|
|
Gast
Verfasst am: 03. Jan 2010, 15:18 Rufname:
|
| |
| |
|
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
|
|
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 |
 |
Access Hilfe: Feldname.Column(2) sortieren |
5 |
Suli |
196 |
24. Aug 2009, 16:11 Bitsqueezer  |
 |
Access Tabellen & Abfragen: Sortieren nach mehreren Kriterien |
5 |
Olaf62 |
195 |
11. Aug 2009, 12:37 Gast  |
 |
Access Tabellen & Abfragen: Abfrage sortieren, trotzdem Wertepaare zusammenhalten |
3 |
DerAdam |
93 |
14. Jan 2009, 10:53 helado  |
 |
Access Formulare: Eintrag aus Werteliste (Listenfeld) löschen |
26 |
sweetkira |
6154 |
06. Jan 2009, 13:42 skillz  |
 |
Access Tabellen & Abfragen: Abfrage individuell sortieren |
3 |
Otscho80 |
193 |
08. Aug 2008, 19:01 MiLie  |
 |
Access Berichte: nach berechneter Prozentzahl absteigend sortieren |
4 |
Karline |
500 |
31. Jul 2008, 11:12 Karline  |
 |
Access Tabellen & Abfragen: Spaltenüberschrift eines Listenfeldes editieren |
2 |
mrrrc |
200 |
18. Mai 2008, 19:47 Tom2002  |
 |
Access Tabellen & Abfragen: Datum sortieren |
16 |
michasiebert |
800 |
19. Dez 2007, 09:47 michasiebert  |
 |
Access Programmierung / VBA: Datenherkunft eines Listenfeldes ändern |
3 |
Thorston |
197 |
06. Nov 2007, 20:53 derArb  |
 |
Access Berichte: nach Datum, dann Uhrzeit sortieren |
12 |
Heldin |
397 |
06. Sep 2007, 09:23 Heldin  |
 |
Access Berichte: Nach 1. 2 PLZ-Nummern in Bericht sortieren |
15 |
Gast |
1308 |
27. Apr 2007, 18:35 KlausMz  |
 |
Access Programmierung / VBA: duplikate in werteliste eines kombinationsfeldes entfernen |
2 |
chrizzy |
496 |
09. Jun 2006, 07:37 chrizzy  |
| |
|