Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Sortieren eines Listenfeldes mit Werteliste (Nachgefragt)
Gehe zu Seite 1, 2  Weiter
zurück: Popup-Suchfenster mit Kombinationsfeld weiter: markiertes Feld löschen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
trekking
Im Profil kannst Du frei den Rang ändern


Verfasst am:
30. Dez 2009, 15:14
Rufname:

Sortieren eines Listenfeldes mit Werteliste (Nachgefragt) - Sortieren eines Listenfeldes mit Werteliste (Nachgefragt)

Nach oben
       Version: Office XP (2002)

Geteiltes Thema!
Abgetrennt vom Thema Sortieren eines Listenfeldes mit Werteliste


Hallo Willi,

auch wenn der Beitrag etwas älter ist hätte ich mal folgende Frage:
(Habe gerade keine Zeit mich intensiver selbst damit zu beschäftigen, deshalb die nachfrage)
Die Sortierung richtet sich nur auf den ersten Buchstaben? Richtig?
Habe den Code mal in eine DB eingebaut und es wurden eben nur die ersten Buchstaben sortiert. Nach dem dritten stimmte die sortierung nicht mehr. Kann ich den Code so umbauen, dass er mehrere Stellen sortiert. Eventuell sogar auswählen wieviele Stellen ich sortieren will?

Wie gesagt, habe gerade leider nicht die Zeit mich damit näher zu beschäftgien deshalb die Fragerei.

Viele Grüße

trekking
MissPh!
Office-VBA-Programmiererin


Verfasst am:
31. Dez 2009, 18:12
Rufname:
Wohnort: NRW


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

Nach oben
       Version: Office XP (2002)

Hallo.
Zitat:
Die Sortierung richtet sich nur auf den ersten Buchstaben? Richtig?
nein, da irrst du, wie man leicht erkennen kann, wird der komplette Eintrag für den Vergleich genommen.

Wie setzt du die Funktion denn ein? Wie sieht dein Listenfeld aus?
Bei mehrspaltigen Listenfeldern dürfte das Beispiel wohl nicht funktionieren...

_________________
Gruß MissPh!
trekking
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Jan 2010, 10:50
Rufname:

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

Nach oben
       Version: Office XP (2002)

Hallo MissPH,

danke für deine Antwort und erst mal ein frohes neues Jahr. Vermutlich sollte ich das Alphabet wiederholen oder mir eine Brille zulegen. ;)

Den Code setzte ich genauso ein, wie er geschrieben wurde. Wie bereit erwähnt, hatte ich bisher keine Zeit mich näher damit zu beschäftigen und werde auch in den nächsten Wochen nicht die Zeit dazu haben. Zum Einsatzzweck:

Er soll mir ein Listenfeld (Einspaltig) sortieren, das eine Werteliste beinhaltet, die alle Formulare meiner DB enthält. Das füllen geht über Me!LB_Forms.AddItem obj.Name

Anschließend lasse ich es sortieren, wie in Wilis Beispiel (Code wurde nicht geändert). Er sortiert mir auch die ersten bis 3 Buchstaben ohne Probleme. Danach höhrt es aber mit der Sortierung auf und es folgt ABABSE etc. Also alles andere als eine Sortierung nach dem ABC.
Siehe dazu den angehängten Screenshot. (Ist eine Auswahl vom Anfang der Listbox).

Leider bin ich im Moment in einem anderen Projekt so gefangen, dass ich keine Zeit habe mir den Code selbst zu gemüte zu führen und ihn auch nicht besser kennen lernen kann. Die Listbox ist auch für mein Projekt nicht erforderlich und deshalb besteht kein Handlungszwang für mich. Es handlet sich lediglich um ein Entwicklerformular mit dem ich Code generiere und dazu das entsprechende Formular auswählen muss. Wenn die nicht sortiert sind, dann dauert die Suche eben länger.

Viele Grüße und viel ERfolg in 2010 wünscht Dir

trekking



screenshot_LB.jpg
 Beschreibung:
 Dateigröße:  37.33 KB
 Angeschaut:  1602 mal

screenshot_LB.jpg


KlausMz
Moderator Access


Verfasst am:
01. Jan 2010, 11:29
Rufname:
Wohnort: Irgendwo in der Pfalz

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

Nach oben
       Version: Office XP (2002)

Hallo,
ich habe das mal getestet, mit längeren Einträgen (mehr Buchstaben) und mit einer Sortierung in Excel verglichen. Meiner Meinung nach wird korrekt sortiert.

PS:
Warum holst Du Dir die in der DB verwendeten Formulare nicht aus der Systemtabelle? Die Abfrage sortiert problemlos und die Werteliste kannst Du Dir sparen.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
trekking
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Jan 2010, 12:45
Rufname:


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

Nach oben
       Version: Office XP (2002)

Hallo Klaus,

erstmal ein gutes neues Jahr. Selbst wenn ich Deine Meinung hoch schätze, der Screenshot zeigt deutlich, dass eben nicht richtig sortiert wird.

Die Idee mit der Systemtabelle ist ein Ansatzpunkt da habe ich noch nicht drangedacht. Allerdings wollte ich dieses Formular an keiner Stelle an eine Tabelle binden. Allerdings kann ich aus der Abfrage ja auch eine Werteliste erstellen. Werde das mal verfolgen.

Viele Grüße

trekking
KlausMz
Moderator Access


Verfasst am:
01. Jan 2010, 12:56
Rufname:
Wohnort: Irgendwo in der Pfalz

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

Nach oben
       Version: Office XP (2002)

Hallo,
Zitat:
Selbst wenn ich Deine Meinung hoch schätze, der Screenshot zeigt deutlich, dass eben nicht richtig sortiert wird.
Ich wollte ja nicht zum Ausdruck bringen, dass ich Dir nicht glaube. Am Screenshot sehe ich es ja auch. Ich wollte damit eigentlich nur sagen, dass ich auch nicht weis bzw. nachvollziehen kann woran es liegt. Ich werde mal forschen.

Auch Dir erst mal ein frohes und gutes Neues Jahr, hatte ich vorhin vergessen.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
trekking
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Jan 2010, 13:43
Rufname:

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

Nach oben
       Version: Office XP (2002)

Das ist nett von Dir Klaus.

hier mal der Code mit dem ich die LB fülle. Mir ist übrigens nchmal eingefallen warum ich es noch ohne die systemtabelle machen wollte. Um es ungebunden zu gestalten hätte ich einen recordset auf die Abfrage machen müssen. Das war mir zu dem Zeitpunkt der Erstellung des Formulars zu viel Code zu schreiben (*g*). Die Sortierung an der Stelle ist ja auch eher Luxus und nicht zwingend erforderlich.
Code:
On Error GoTo Er
    Dim obj As AccessObject
    Dim dbs As Object
   
    Set dbs = Application.CurrentProject
    For Each obj In dbs.AllForms
        If obj.Name <> Me.Name Then
            Me!LB_Forms.AddItem obj.Name
        End If
    Next obj
    Set dbs = Nothing
    'Sortieren des Listenfeldes
    Me!LB_Forms.RowSource = FnsSortRowSource(Me!LB_Forms.RowSource)
Wäre schön, wenn Dir was auffallen würde.

Viele Grüße

trekking
KlausMz
Moderator Access


Verfasst am:
01. Jan 2010, 14:18
Rufname:
Wohnort: Irgendwo in der Pfalz

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

Nach oben
       Version: Office XP (2002)

Hallo,
Hallo,
folgendes ist mir aufgefallen:
1. Klick aufsteigend, Sortierung fast richtig
2. Klick aufsteigend, Sortierung richtig

dann:
1.Klick auf absteigend, Sortierung richtig

dann Initialisieren:
1.Klick absteigend, Sortierung fast richtig
2.Klick absteigend, Sortierung richtig

dann:
1.Klick aufsteigend, Sortierung richtig

PS: Ist Dir aufgefallen, Dass Du doppelte Formularnamen hast.
frmAABNeu und frmAendern gibt es jeweils 2x, das kann ja nicht sein.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
01. Jan 2010, 14:25
Rufname:
Wohnort: NRW

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

Nach oben
       Version: Office XP (2002)

Hallo miteinander - wenn ich mich nochmal einmischen darf... ?

Ich sehe nirgendwo, wie dieser Code eingebunden wird, auch im Ursprungs-Thread sehe ich keinen Hinweis dazu.
Daher ist meine diesbezügliche Frage weiterhin unbeantwortet.

Bei Einsatz einer Werteliste ist zu berücksichtigen, dass diese nicht beliebig lang sein kann - ca. 2000 Zeichen - daher wäre es evtl. doch sinnvoll, die Rowsource auf eine (simple!) Abfrage umzustellen. Die kann ja genauso wie auch jetzt die Werteliste per VBA eingestellt werden.

_________________
Gruß MissPh!
KlausMz
Moderator Access


Verfasst am:
01. Jan 2010, 14:35
Rufname:
Wohnort: Irgendwo in der Pfalz

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

Nach oben
       Version: Office XP (2002)

Hallo,
anbei mal die DB. ich habe mir die Mühe gemacht und die Namen von Trecking mal verwendet.
MissPh! hat folgendes geschrieben:
Ich sehe nirgendwo, wie dieser Code eingebunden wird,
Das sollte in der DB jetzt erkennbar sein. Die Länge von 2000 Zeichen wird bei weitem nicht erreicht.

Die Hinweise aus meinem vorherigen Posting lassen sich reproduzieren.
Ich denke es liegt an Quicksort beim Vergleich. Quicksort kenne ich aber nicht, ich kenne nur Bubblesort. Quicksort ist etwas komplizierter.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.



Sort_lbx_Value_List.zip
 Beschreibung:

Download
 Dateiname:  Sort_lbx_Value_List.zip
 Dateigröße:  13.76 KB
 Heruntergeladen:  41 mal

trekking
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Jan 2010, 15:37
Rufname:

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

Nach oben
       Version: Office XP (2002)

Hallo MissPh:

Der Code wurde (siehe meinen Thread) an der Stelle eingebunden:
Code:
    Me!LB_Forms.RowSource = FnsSortRowSource(Me!LB_Forms.RowSource)
Den Code von Willi habe ich nicht geändert, also Poste ich den nicht.
Die 2000 Zeichen werden bei weitem nicht überschritten. (58 Formulare x ma. 25 Zeichen)

Was die RowSource betrifft lese bitte in den Threads an Klaus nach.
Viele Grüße
trekking

Hallo Klaus,

das ist super von Dir. Da es ja hier auch nicht klappt, muss mit dem Algorhytmus was nicht stimmen.

Ja, es ist mir aufgefallen, dass die beiden Formulare doppelt sind. Allerdings habe ich keine Erklärung dafür, da dies ja nicht vorkommen dürfte. Gehe davon aus, dass ich die DB in eine neue DB kopieren muss und dann sollte es behoben sein.
Oder hast du eine Erklärung dafür?

Viele Grüße und Danke

trekking
MissPh!
Office-VBA-Programmiererin


Verfasst am:
01. Jan 2010, 15:50
Rufname:
Wohnort: NRW

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

Nach oben
       Version: Office XP (2002)

Hallo trecking,

mit einer einzelnen Codezeile kann man herzlich wenig anfangen. Rolling Eyes
Meine Frage zielte darauf hin, in welchem Kontext das eingesetzt wird, an welcher Stelle, bei welchem Ereignis...

Aber Klaus ist offensichtlich Hellseher oder er kennt dein Formular, so dass er drauf gekommen ist, die Lösung mit wechselnder Sortierung auf Button-Klick vorzuschlagen - auch wenn der von dir gezeigte Code darauf nicht unbedingt schließen lässt.

Wenn du - wie du sagtest - den einfachen Weg gehen willst, verzichte auf Funktionen, die nicht funktionieren und setze eine Select-Abfrage als Rowsource ein.

Nachtrag:
Zitat:
Gehe davon aus, dass ich die DB in eine neue DB kopieren muss und dann sollte es behoben sein.
Soll das ein Witz sein? Confused
_________________
Gruß MissPh!
Gast



Verfasst am:
01. Jan 2010, 16:12
Rufname:

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

Nach oben
       Version: Office XP (2002)

Hallo,
was soll der Krampf.
Bubblesort nehmen Wink:
Code:
Option Compare Database
Option Explicit

Function FnsSortRowSource(sRowSource As String, _
                          Optional bSortDesc As Boolean = False) As String
    Dim vTmp As Variant
   
    vTmp = Split(sRowSource, ";")
    BubbleSort vTmp, bSortDesc
    FnsSortRowSource = Join(vTmp, ";")
End Function
   
' http://www.dbwiki.de/wiki.php?title=VBA_Tipp:_Bubblesort
Public Function BubbleSort(vArray As Variant, _
                           Optional Ascending As Boolean = True)
'
' Ascending = True: aufsteigend sortieren
'
    Dim Temp As Variant
    Dim Mark As Long, I As Long, EndIdx As Long, StartIdx As Long
   
    If Not IsArray(vArray) Then Exit Function
   
    EndIdx = UBound(vArray)
    StartIdx = LBound(vArray)
    Do While EndIdx > StartIdx
        Mark = StartIdx
        For I = StartIdx To EndIdx - 1
            If vArray(I) > vArray(I + 1) Eqv Ascending Then
                Temp = vArray(I)
                vArray(I) = vArray(I + 1)
                vArray(I + 1) = Temp
                Mark = I
            End If
        Next I
        EndIdx = Mark
    Loop
End Function

Gruß Mike
KlausMz
Moderator Access


Verfasst am:
01. Jan 2010, 16:17
Rufname:
Wohnort: Irgendwo in der Pfalz

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

Nach oben
       Version: Office XP (2002)

Hallo,
@MissPh! Immer langsam mit den jungen Pferden. Laughing
Zitat:
Soll das ein Witz sein?
Die Bemerkung von trekking bezog sich ja nicht auf das Sortieren, sondern auf meinen Hinweis, dass Formularnamen doppelt sind. Das habe ich zufällig gesehen und hat mit dem Sortieren nichts zu tun.
Ich bin auch kein Hellseher, der ganze Beitrag bezog sich auf das Beispiel von Willi Wipp und das sortiert schon falsch. Wir reden ja auch nicht von einem Formular von trekking, sondern ausschließlich über das Beispiel von Willi, das ich heruntergeladen habe und dessen Code trekking verwendet ohne Änderung.
Zitat:
so dass er drauf gekommen ist, die Lösung mit wechselnder Sortierung auf Button-Klick vorzuschlagen -
Das ist doch kein Lösungsvorschlag, sondern nur ein Indiz, dass mit dem Algorhytmus was nicht stimmt. Und das ist die Frage, sonst nichts.
Es geht ausschließlich um das Beispiel von Willi und da ist alles enthalten und das sortiert falsch. Da muss Willi noch mal ran, oder jemand der mit Quicksort vertraut ist.

Edit:
Oder umstellen auf Bubblesort Very Happy
@Mike Trotzdem wäre es interessant warum da Quicksort den Fehler produziert.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
trekking
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Jan 2010, 16:59
Rufname:


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

Nach oben
       Version: Office XP (2002)

@MissPH!

Wie schrieb mein Freund Rheinhard immer so gerne: "Wer lesen kann ist klar im Vorteil" *frechgrins*
Es ist genauso wie es Klaus geschrieben hat. Allerdings schade, dass Klaus nicht Hellsehen kann, dann könnte er mir nämlich die Lottozahlen sagen.

@Mike
Werde ich wohl tun, stimme aber Klaus zu, dass es geklärt werden sollte, was da nicht stimmt.

@Klaus
Werde dir berichten (wird aber etwas dauern) ob die zwei Dateien dann weg sind nach dem import.

Viele Grüße an

alle

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

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
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 600 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 274 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 3655 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 2413 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 785 30. Sep 2008, 14:55
Willi Wipp Aktualisierungsabfrage sortieren
Keine neuen Beiträge Access Tabellen & Abfragen: Datenbank sortieren bzw. filtern HILFE !!!!! 2 janky 285 27. Aug 2008, 11:06
Gast Datenbank sortieren bzw. filtern HILFE !!!!!
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage individuell sortieren 3 Otscho80 883 08. Aug 2008, 20:01
MiLie Abfrage individuell sortieren
Keine neuen Beiträge Access Tabellen & Abfragen: Datum sortieren 16 michasiebert 1602 19. Dez 2007, 10:47
michasiebert Datum sortieren
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragen sortieren, Problem 2 Markos 372 18. Dez 2007, 17:05
Markos Abfragen sortieren, Problem
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle soll nicht automatisch sortieren 2 MenschMarc 804 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 493 19. Mai 2007, 21:56
jens05 Zeile eines Listenfeldes hervorheben
Keine neuen Beiträge Access Tabellen & Abfragen: Sortieren und eine Kombobox 3 Hektor 478 13. März 2007, 19:12
Hektor Sortieren und eine Kombobox
 

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