Avatar billede canedo Nybegynder
21. august 2002 - 15:21 Der er 21 kommentarer og
1 løsning

de 5 nyeste poster

Jeg har nogle poster med links og sager. Jeg skal så via noget SQL kun have fundet de 5 nyeste poster frem. Hvordan gøres det?

Det SQL jeg har NU er:
QueryNy = "SELECT * FROM Links ORDER BY Dato DESC"
Avatar billede dmdisco Nybegynder
21. august 2002 - 15:22 #1
LIMIT 5
Avatar billede dmdisco Nybegynder
21. august 2002 - 15:22 #2
svar
Avatar billede neteffect Nybegynder
21. august 2002 - 15:22 #3
QueryNy = "SELECT TOP 5 * FROM Links ORDER BY Dato DESC"
Avatar billede dmdisco Nybegynder
21. august 2002 - 15:23 #4
"SELECT * FROM Links ORDER BY Dato DESC LIMIT 5"
Avatar billede dmdisco Nybegynder
21. august 2002 - 15:23 #5
nå ja
Avatar billede canedo Nybegynder
21. august 2002 - 15:27 #6
Skriver jeg QueryNy = "SELECT TOP 5 * FROM Links ORDER BY Dato DESC" får jeg denne fejlmelding:

Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14'

[Microsoft][ODBC Microsoft Access-driver] Syntax error in ORDER BY clause.

/canedo/kdlang/links.asp, linje 37
Avatar billede canedo Nybegynder
21. august 2002 - 15:28 #7
Skriver jeg det med TOP 5 får jeg følgende fejlmelding:

Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14'

[Microsoft][ODBC Microsoft Access-driver] The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.

/canedo/kdlang/links.asp, linje 37
Avatar billede canedo Nybegynder
21. august 2002 - 15:30 #8
Den med LIMIT 5 duer heller ikke...
Avatar billede canedo Nybegynder
21. august 2002 - 15:34 #9
dmdisco > Sådan her har jeg skrevet, men den giver fejl i 'ORDER BY clause'

SELECT * FROM Links ORDER BY Dato DESC LIMIT 5
Avatar billede Jman Praktikant
21. august 2002 - 15:35 #10
QueryNy = "SELECT TOP 5 * FROM Links ORDER BY Dato DESC;"
Avatar billede canedo Nybegynder
21. august 2002 - 15:37 #11
superior> Skriver jeg dette, så kommer alle poster frem...
Avatar billede neteffect Nybegynder
21. august 2002 - 15:39 #12
TOP 5 virker hos mig, og jeg bruger også Access. Men i stedet for * anfører jeg de felter jeg skal bruge, for det siges at køre hurtigere.

QueryNy = "SELECT TOP 5 mitFelt1, mitfelt2 FROM Links ORDER BY Dato DESC"
Avatar billede canedo Nybegynder
21. august 2002 - 15:44 #13
her er hele det script som jeg vil have til at give 5 poster... men jeg får altså stadig alle posterne:

<%
Dim rsNy
QueryNy = "SELECT TOP 5 Url, Title FROM Links ORDER BY Dato DESC;"
Set rsNy = connect.Execute(QueryNy)
do until rsNy.EOF
%>

<br>
<a href="http://<%=rsNy("Url")%>" target="_blank"><%=rsNy("Title")%></a>

<% rsNy.MoveNext %>
<%loop%>

hvor er fejlen?
Avatar billede neteffect Nybegynder
21. august 2002 - 16:02 #14
Det er ligegodt underligt. Men du fik den i det mindste til at æde "TOP 5".

Prøv at skrive datoen med ud, bare for at få en fornememlse af hvad der foregår.
Semikolon til sidst er overflødigt, men burde ikke gøre nogen skade.
Avatar billede canedo Nybegynder
21. august 2002 - 16:14 #15
OK... ting går op for mig. Det er fordi der er ret mange poster af samme dato.

Det med TOP 5 giver problemer når flere af posterne har samme dato... hvad kan man gøre ved det?
Avatar billede neteffect Nybegynder
21. august 2002 - 16:22 #16
QueryNy = "SELECT DISTINCT TOP 5 mitFelt1, mitfelt2 FROM Links ORDER BY Dato DESC"
Avatar billede canedo Nybegynder
21. august 2002 - 16:24 #17
neteffect > giver følgende fejlmeddelelse:
Microsoft OLE DB Provider for ODBC Drivers fejl '80004005'

[Microsoft][ODBC Microsoft Access-driver] Cannot include Memo, OLE, or Hyperlink Object when you select unique values (Url).

/canedo/kdlang/links.asp, linje 37
Avatar billede canedo Nybegynder
21. august 2002 - 16:24 #18
jeg skal nok lave mit dato format længere... ikke kun dato, men ikludere tiden også.
Avatar billede canedo Nybegynder
21. august 2002 - 16:27 #19
Lige nu bruger jeg =Date() til automatisk udfyldelse at dato-feltet, hvordan putter jeg så tid på også?
Avatar billede neteffect Nybegynder
21. august 2002 - 16:32 #20
Brug now, men pas på formateringen af datoen. Se eventuelt http://www.eksperten.dk/spm/246418, hvor jeg har gjort mig klog på dét.
Avatar billede canedo Nybegynder
21. august 2002 - 16:34 #21
altså skrive
=Now() inde i access? det lyder ganske enkelt.
Avatar billede canedo Nybegynder
21. august 2002 - 17:01 #22
Tak, det virker fint til at sortere efter.
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