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

Verfasst am: 02. März 2005, 11: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, 10:42, insgesamt einmal bearbeitet |
|
Willi Wipp
Moderator

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