Avatar billede janr Nybegynder
18. november 2001 - 19:43 Der er 13 kommentarer og
1 løsning

Omvendt rækkefølge af Recordset

Jeg vil gerne have modsatte ræggefølge af et udvalgt recordset - hvordan gør jeg det?

Nærmere bestemt har jeg flg. kode:

SET objRS = Conn.execute(\"SELECT TOP 5 * FROM MinTabel ORDER BY OprettetDato DESC\")

WHILE NOT(objRS.EOF)
  RESPONSE.WRITE objRS(\"id\") & \"<br>\"
  objRS.MoveNext
WEND

Lad os så sige, at det f.eks. udskriver
  32
  31
  30
  29
  28

Men det vil jeg gerne have til at være
  28
  29
  30
  31
  32

Hvordan gør jeg det? - jeg havde håbet på at der fantes en simpel funktion ala objRS.REVERSE ?!
Avatar billede nute Nybegynder
18. november 2001 - 19:44 #1
Du skal bare sortere ascending og ikke descending:

SET objRS = Conn.execute(\"SELECT TOP 5 * FROM MinTabel ORDER BY OprettetDato ASC\")

/nute
Avatar billede zeth Nybegynder
18. november 2001 - 19:45 #2
I din linje der hedder SET objRS = Conn.execute(\"SELECT TOP 5 * FROM MinTabel ORDER BY OprettetDato DESC\") .. DESC betyder er den vender der om.. du kan udskifte DESC med ASC for at få den anden vej..
Avatar billede zeth Nybegynder
18. november 2001 - 19:45 #3
fuck *s*
Avatar billede janr Nybegynder
18. november 2001 - 19:47 #4
Ja jeg ved godt, at jeg har DESC i sql strengen, men jeg vil jo gerne have de 5 nyeste indlæg men rækkefølgen skal være sådan at det ældste indlæg kommer først - det skulle jeg måske lige have skrevet i spørgsmålet :-)
Avatar billede nute Nybegynder
18. november 2001 - 19:52 #5
ehhhh....det gjør du da med den kode du allerede har postet  ?!?!
Avatar billede janr Nybegynder
18. november 2001 - 19:54 #6
Jeg har vist ikke formået at gøre mit problem klart for jer:

Altså lad os sige, at MinTabel pt. indeholder records med id fra 1 til 32 (og tilhørende OprettetDato) og der bliver oprettet en ny hver dag. Men jeg kun vil se de seneste 5 records men i den rækkefølge hvor den ældste (af de nyeste 5) kommer først

Den kode jeg har nu, skriver
32, 31, 30, 29, 28
men jeg vil gerne have
28, 29, 30, 31, 32


Avatar billede nute Nybegynder
18. november 2001 - 19:58 #7
jeg er ikke helt sikker på om jeg forstår, men du kan jo prøve å sortere på begge kolonner, og se om du ikke får den sortering du ønsker

SELECT TOP 5 * FROM MinTabel ORDER BY OprettetDato DESC, ID ASC

/nute
Avatar billede janr Nybegynder
18. november 2001 - 20:07 #8
Tak for dit foreslag, men begge kolonner er fortløbende, så det hjælper ikke helt (har prøvet).

prøv at kigge på www.romme.nu/jul/spor.asp ...
den liste vil jeg gerne have sorteret så det ældste \"spor\" kommer først (der er betydelig flere indlæg end de 3 viste, men de er allerede \'udløbet\')
Avatar billede nute Nybegynder
18. november 2001 - 20:15 #9
kan du ikke så iterere baklengs?

WHILE NOT(objRS.BOF)
  RESPONSE.WRITE objRS(\"id\") & \"<br>\"
  objRS.MovePrevious
WEND

Avatar billede janr Nybegynder
18. november 2001 - 20:22 #10
God idé! ... men så får jeg følgende fejl:

ADODB.Recordset error \'800a0c93\'

Denne handling er ikke tilladt i denne sammenhæng.

/jul/spor.asp, line 55

hvor linie 55 er: objRS.MovePrevious
Avatar billede nute Nybegynder
18. november 2001 - 20:28 #11
problemet er at den måten du åpner ditt recordset på ikke tillater denne type, på grunn av cursoren...

prøv å bytt ut denne linje kode

SET objRS = Conn.execute(\"SELECT TOP 5 * FROM MinTabel ORDER BY OprettetDato DESC\")

med denne:

Set objRS = Server.createobject(\"ADODB.Recordset\")
objRS.open SQL, Conn, 3, 3

/nute
Avatar billede janr Nybegynder
18. november 2001 - 20:30 #12
OKay, det prøver jeg ... tak for hjælpen! Du får dine points!
Avatar billede nute Nybegynder
18. november 2001 - 20:34 #13
takker :-) selv om du ikke skal dele ut noen points før du er fornøyd ;-)
Avatar billede janr Nybegynder
18. november 2001 - 20:37 #14
Det ved jeg godt, men jeg har ikke lige tid til at kigge mere på sagen i dag, så jeg ville lige belønne din hjælpsomhed :-)
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