07. juni 2000 - 14:45Der er
6 kommentarer og 1 løsning
Alfabetisering
Jeg har et problem. Jeg tror ikke det kan løses... men man skal jo ikke opgive noget før Eksperten har opgivet ;-)
Jeg har en række poster i en Access-database. Posterne indeholder en lang række felter.. bl.a. "navn". Indholdet af dette felt er et fuldt navn, f.eks.: "Peter Morten Hansen".
Når jeg udskriver posterne på en webside, skal navnet stå således: "Hansen, Peter Morten".
Dette opnår jeg med denne function:
Function revNavn(strStreng) strStreng = RTrim(strStreng) strStreng = LTrim(strStreng) strStreng = Split(strStreng," ") Efternavn = strStreng(Ubound(strStreng)) For i = 0 To Ubound(strStreng) - 1 Navn = Navn & " " & strStreng(i) Next revNavn = Efternavn & ", " & Navn End Function
Nu er der så opstået det problem at posterne skal ordnes (alfabetiseres) efter efternavn. Jeg kan ikke bruge "ORDER BY navn" i min SQL-streng, da det jo så vil være fornavnet, der ordnes efter.
Det er af andre grunde ikke muligt at navneformen optræder anderledes i databasen.
Hvis du kan finde en, der kan skrive en funktion til dig i Access svarende til den, du bruger i scriptet til at udvælge efternavnet, kunne du oprette en forespørgsel i Access med et felt indeholdende fornavnene og et med efternavnet. Herefter kunne du blot kalde den nye foresp. i stedet for tabellen.
Du kan evt. oprette et spg. i kategorien "Access" eller spørge i den tilsvarende nyhedsgruppe.
Hmm, jeg har ikke noget synderlig erfaring med det, kender det kun i princippet, men i bund og grund, hvis du laver et array og en ad gangen henter dine poster, "vender" navnet og lægger det i arrayet, kan sorteringen vel klares med noget simplet bubblesort, Qsort eller ligende ?
Ohh damn!, det er godt nok ved at være lang tid siden jeg sidst havde noget om dem... Bubble sort er en sorterings algoritme, hvor du MANGE gange løber dit array igennem og sorterer at hvis array[i] > array[i+1] så skal de byttes rundt...
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.