Avatar billede staf Nybegynder
23. januar 2003 - 14:53 Der er 11 kommentarer og
1 løsning

record visning!

Hej!
Sider med et formentlig ret simpelt problem! Jeg har en database (en gæstebog), som jeg gerne vil have skrevet ud. Dette er ikke noget problem med: "select * from guesttabel" og en "response.write" osv osv.....

Men det der bliver udskrevet, bliver udskrevet oppe fra. Tænkte på om man kunne få udsrevet det nede fra? dvs. fra nerderste(seneste) record i DB`en, uden at skulle ordne alfabetisk osv. osv. Altså bare ligesom "select*from guesttabel" og så bare nedefra. Jeg har tænkt på "DESC" og "ASC" men disse virker jo sammen med "order by"???

Nogle der kan hjælpe mig??
Avatar billede loss Nybegynder
23. januar 2003 - 14:57 #1
hvilke rækker har du i din db ?
Avatar billede proaccess Nybegynder
23. januar 2003 - 14:57 #2
rs.MoveLast

while not rs.EOF
  ...
  rs.MovePrevious
Wend
Avatar billede proaccess Nybegynder
23. januar 2003 - 14:58 #3
MEN hvis du alligevel IKKE har nogen order by til at starte med, så er rækkefølgen vel ligegyldig...?
Avatar billede webben Nybegynder
23. januar 2003 - 14:58 #4
har du prøvet med top5? osv
Avatar billede loss Nybegynder
23. januar 2003 - 14:58 #5
men ja du skal bruge DESC

SELECT * FROM guesttabel ORDER BY ID DESC

ID = navn på dit ID felt i DB
Avatar billede staf Nybegynder
23. januar 2003 - 15:12 #6
Jeg har to rækker i DB`en:
navn
kommentar

Se siden her: www.gyldendal.adsl.dk/stephan/++index.html

Og der vil jeg bare gerne have at de nye indlæg ligger sig øverst på siden når man går ind på indlæg siden. Altså det senest indsendte i toppen istedet for i bunden.

Min ASP kode til selve selecten ser således ud:

<%

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("guestbook.mdb")
Conn.Open DSN

strSQL = "Select * from guesttabel"
               
Set rs = Conn.Execute(strSQL)

               
Do
Response.write("**********************") & "<br>"
Response.Write rs("navn") & "<br>"
Response.Write rs("kommentar") & "<br>"
Response.write("**********************") & "<br>" & "<br>" & "<br>"
                   
                     
rs.MoveNext       
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>

Vil det sige at jeg skal skrive "rs.MoveLast" istedet for "rs.MoveNext"

eller hvorledes???
Avatar billede staf Nybegynder
23. januar 2003 - 15:13 #7
"Jeg har to rækker i DB`en" Mener selvfølgelig to kolonner :)
Avatar billede proaccess Nybegynder
23. januar 2003 - 15:17 #8
<%

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("guestbook.mdb")
Conn.Open DSN

strSQL = "Select * from guesttabel"
               
Set rs = Conn.Execute(strSQL)

rs.MoveLast
               
Do
Response.write("**********************") & "<br>"
Response.Write rs("navn") & "<br>"
Response.Write rs("kommentar") & "<br>"
Response.write("**********************") & "<br>" & "<br>" & "<br>"
                   
                     
  rs.MovePrevious
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
Avatar billede proaccess Nybegynder
23. januar 2003 - 15:18 #9
Undskyld:

Loop While Not rs.BOF  '<= Beginning of file
Avatar billede proaccess Nybegynder
23. januar 2003 - 15:22 #10
Du må da bare få et problem, når der er 1.000.000 records i din tabel, og de så ALLESAMMEN bliver vist...?

Hvis du havde et dato/tids-felt i din tabel, så kunne du sortere efter dette og derved afgrænse på antallet...

"SELECT TOP 20 navn, kommentar FROM guesttabel ORDER BY tidspunkt DESC;"
Avatar billede staf Nybegynder
23. januar 2003 - 15:30 #11
Takker! :)
ja, du har ret i det med at der med tiden kommer MANGE records. Og det vil jeg lige overveje.....
Avatar billede staf Nybegynder
23. januar 2003 - 15:40 #12
arrr DAMN!

Har lige prøvet, og får flg. fejl:

"Microsoft OLE DB Provider for ODBC Drivers error '80040e24'

Rowset does not support fetching backward."


Min kode ser nu således ud:
  <%
               
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("guestbook.mdb")
Conn.Open DSN

               
strSQL = "Select * from guesttabel"
               
Set rs = Conn.Execute(strSQL)

               
rs.MoveLAST

Do                                            Response.write("***********************") & "<br>"
Response.Write rs("navn") & "<br>"
Response.Write rs("kommentar") & "<br>"            Response.write("***********************") & "<br>" & "<br>" & "<br>"
                   
                     
rs.MovePrevious   
Loop While Not rs.BOF
           
Conn.Close
Set Conn = Nothing
%>

så det forstår jeg ikke lige ?
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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