Avatar billede tc Nybegynder
01. september 1999 - 13:26 Der er 19 kommentarer og
1 løsning

Sotering af poster i record

Jeg har et problem med at få sorteret mine poster i min record.

Jeg trækker følgende data ud af min dtb.:
set rstemp2=conntemp.execute("select * from supplierproducts where SupplierID=" & whichID)

"rstemp2" indeholder nu følgende:
1200,4000,450,.... osv.

Det er et ønske at det første tal bliver slettet, og at det er resterende er sorteret med det mindste tal først når det udtrækkes.

Håber der findes en mulighed ...

På forhånd tak.

Avatar billede pingo Nybegynder
01. september 1999 - 13:31 #1
Jeg er ikke med.

Vil du først sotere efter at det mindste tal skal stå først - og dernest fjerne det mindste tal?

Eller vil du først lave din record - så fjerne det første tal - og dernest lave en ny record der er soteret efter tal?
Avatar billede sone Nybegynder
01. september 1999 - 13:59 #2
tc >> Fortæl, fortæl...
Avatar billede ziber Nybegynder
01. september 1999 - 14:37 #3
ja tak - mere info
Avatar billede tc Nybegynder
01. september 1999 - 14:46 #4
Det ønskelige ville være at kunne fjerne det første tal først, og derefter soterer det resterende.

Dette skyldes at det første tal endelig ikke må medtages.
Avatar billede sone Nybegynder
01. september 1999 - 14:48 #5
Hvilket tal skal væk:

- det der tilfældigvis står først
- det mindste tal
- det største tal
Avatar billede tc Nybegynder
01. september 1999 - 14:59 #6
Hej igen og tak for den hurtige respons.

Det første tal skal væk.

Det første tal er ID på rækken, de resterende er poster som er oprettet i tilfældige række følge.
Avatar billede sone Nybegynder
01. september 1999 - 15:10 #7
Er det korrekt når jeg tror at du siger følgende:

Du får én database-række tilbage (som indeholder flere felter)?


Hvid dette er tilfældet...

så tilgår du de enkelte felter som

  rstemp2("feltnavn")
Avatar billede tc Nybegynder
01. september 1999 - 15:27 #8
Hej igen

Tabellen "supplierproducts" er opbygget som følger i dtb:

SupplierID  1    2    3  ...>
    20    500  410  1200
    23    600  200  2000

Ved så at hente evt. ID=20 så får jeg en streng med følgende indhold:
20, 500, 410, 1200

20 er her ID og skal derfor væk. Resten skal sorteres med mindste tal først.

Håber dette kan forståes ..
Avatar billede sone Nybegynder
01. september 1999 - 15:30 #9
Du kan ikke lave en direkte sortering.
Du skal ligge alle værdierne fra felterne (1, 2, 3, ...) i et array, som du så kan løbe igennem for laveste værdi.
Avatar billede tc Nybegynder
01. september 1999 - 15:40 #10
dam, lige hvad jeg frygtede ... :-)

Findes der en fræk måde at overføre disse tal til en streng og så fjerne første tal, og derefter lave en sortering på stregen. (Evt. omkrive til en ny)

Et eks. ville være perfekt.
Avatar billede sone Nybegynder
01. september 1999 - 15:42 #11
Felterne 1, 2, 3... er der et fast antal der?
Avatar billede ziber Nybegynder
01. september 1999 - 15:44 #12
er det ikke muligt, at hente dataene ind via en normal sql, ligge dem i et array.
Derefter tilføje alle felter efter 1 til et nyt array, som man så sortere i??

Det må da være muligt hvis man kan sortere et array....
Avatar billede tc Nybegynder
01. september 1999 - 15:47 #13
Ja, udover ID´en så er der 200 felter.

(ID,1,2,3,4,5.....,200)
Avatar billede sone Nybegynder
01. september 1999 - 15:51 #14
DIM i
DIM a(200)

FOR i=1 TO 200
  a(i) = rstemp(i)
NEXT

hvorefter arrayet a sorteres (fx. med quicksort).

PS. Skal denne sortering laves flere gange for én side?
Hvis ja, så skal du måske overveje et andet design af din DB.
Avatar billede ziber Nybegynder
01. september 1999 - 15:54 #15
Tjaa - det var egentlig hvad jeg mente, men godt formuleret sone
Avatar billede ziber Nybegynder
01. september 1999 - 15:55 #16
:-(
Avatar billede tc Nybegynder
01. september 1999 - 15:59 #17
Mange tak for hjælpen

Det er den rigtige løsning på mit problem. Det var også lidt af en hård nød at knække :-)
Avatar billede sone Nybegynder
01. september 1999 - 16:05 #18
You are welcome !
Avatar billede ziber Nybegynder
01. september 1999 - 16:05 #19
hmmmmm......
Avatar billede tc Nybegynder
01. september 1999 - 16:10 #20
Jeg er ked af det ziber, jeg burde måske have delt scoren imellem jer ... :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester