22. maj 2010 - 11:44Der er
3 kommentarer og 2 løsninger
Sortering af items i en listbox
Jeg har en listbox med to kolonner, aktivitetsnumre og aktivitetsnavne saasom Boernegruppe, Damegruppe, Herregruppe, Ungdomsgruppe. Kilden er tabellen Gruppe med de samme to kolonner, altsaa SELECT gruppeid, gruppenavn FROM Gruppe ORDER BY 2. Til listboxen jeg saa tilfoejet en aktivitet (Alle grupper), efter raad fra en tutorial i ronde paranteser for at faa den foerst i listen fordi ronde paranteser har et lavere ASCII nummer end tal og bogstaver. Queryen bliver saaledes: SELECT 0, '(Alle grupper)' FROM Gruppe UNION SELECT gruppeid, .....
Saa langt saa godt. Men nu vil jeg tilfoeje en aktivitet i tabellen Gruppe saaledes at den kommer sidst i listboxen. Eftersom { parantesen har et hoejere ASCII nummer end tal og bogstaver (123 hvor z har 122) kaldte jeg den nye aktivitet {cykelgruppe}. Men i listboxen kommer den til at staa efter (Alle grupper) men foer Boernegruppe.
Jeg har indtil videre klaret mig ved at kalde gruppen z_cykelgruppe, men det ser jo ikke saerlig smart ud. Hvordan kan jeg soerge for at cykelgruppen kommer sidst i listboxen? (Jeg har ogsaa proevet med ~cykelgruppe og |cykelgruppe men med det samme resultat).
Thinkwise søger skandinaviske partnere til moderniseringsplatform, som afkoder og ombygger funktionaliteten i gamle legacy-systemer.
27. juni 2024
Slettet bruger
23. maj 2010 - 01:00#1
hvorfor tager du ikke bare cykelgruppe med i tabellen gruppe?~)
Synes godt om
Slettet bruger
23. maj 2010 - 01:02#2
hov, nu ved jeg hvad du mener... og hvad løsningen er!~)
Synes godt om
Slettet bruger
23. maj 2010 - 01:11#3
du laver en ekstra felt i din tabel gruppe, du kunne kalde det Raekkeflg. Her skriver du et tal for den rækkefølge du vil have vist grupperne, husk at du starter med nr. 2 for Alle grupper skal du jo have til at stå først.
SELECT gruppeid, gruppenavn, raekkeflg FROM Gruppe ORDER BY 3 UNION SELECT 0, 'Alle grupper', 1 FROM Gruppe UNION SELECT 0, 'Cykelgruppe', 9 FROM Gruppe
her har du tallene fra 2 til 8 til de andre i gruppe tabellen..
Du kunne måske også bare sortere efter gruppeid eller bare selv udfylde din listbox:
spg, tak for dit indlaeg. Jeg har nu en daarlig nyhed og en god nyhed.
Den daarlige nyhed er at din foreslaaede loesning ikke svarer til mit behov. Cykelgruppe var blot et eksempel - jeg har behov for, ud over de faste grupper (som i eksemplet Boernegruppe o.s.v.) dynamisk at tilfoeje og slette nye grupper der i listboxen skal staa for sig selv, altsaa i slutningen af listen.
Den gode nyhed er at da jeg her til morgen taenkte over hvordan jeg bedst skulle forklare hvorfor din foreslaaede loesning ikke var tilstraekkelig kom jeg til at se hvad grundproblemet er: Access sorterer ikke i Ascii raekkefoelge! Jeg proevede at aendre nogle gruppenavne til at begynde med lille. Saa burde disse grupper komme efter grupper der begynder med stort, men det sker heller ikke. Saa jeg googlede og fandt funktionen Asc og eksempler som dette: SELECT gruppeid, gruppenavn FROM Gruppe ORDER BY (Asc(naam)); Med denne funktion faar jeg Ascii sortering, altsaa () foerst og {} sidst.
Dit svar, i sig selv ikke tilstraekkeligt, satte mig igang med selv at finde svaret. Skal vi dele points?
Synes godt om
Slettet bruger
23. maj 2010 - 23:40#5
!~)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.