Du har jo valgt, at den nyeste skal være nederst: "... ORDER BY ID DESC"
For at det skal være øverst, skal du bare bruge "ASC": "... ORDER BY ID ASC"
Man kan vælge at bruge "ASC", eller ingenting: "... ORDER BY ID"
/theSurfer
Synes godt om
Slettet bruger
07. september 2005 - 08:47#2
Hej Så nemt er det desværre ikke, de ligger nu i den rækkefølge de er oprettet, men datoen der vises er seneste indlæg, og det jeg gerne vil er at det indlæg der senest er rykker op øverst.
Jeg troede at hif-fodboldfans.dk var din side :-) Men det er det så ikke..
Hvordan ser din kode ud? Jeg har muligvis lavet en fejl..
Det skal naturligvis hedde: "... ORDER BY DITFELT DESC"
Hvis feltet f.eks. hedder "dato", erstatter du "DITFELT" med dato:
"... ORDER BY dato DESC"
/theSurfer
Synes godt om
Slettet bruger
09. september 2005 - 08:57#6
Hej Du får lige hele koden her, hvis du gider kigge på den: <!--#include file="functions.inc"--> <% Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open strDSN
strSQL = "SELECT * FROM Forums WHERE (ID = " & Request("ForumID") & ")" Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then strForum = rs("Forum") strDescription = rs("Description") intForumID = rs("ID") End If
strSQL = "SELECT *, Format$([date],'dd/mm/yyyy') AS FormDate, Format$([date],'hh:mm') AS FormTime FROM Entries WHERE (ForumID = " & Request("ForumID") & ")"strSQL = strSQL & " AND (OrgThread = True) ORDER BY ID DESC" Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then Do While Not rs.EOF
strSQL = "SELECT *, Format$([date],'dd/mm/yyyy') AS FormDate, Format$([date],'hh:mm') AS FormTime FROM Entries WHERE (ReplyId =" & rs("Id") & ") OR (ID =" & rs("Id") & ") ORDER BY ID DESC" Set formatDate = myConn.Execute(strSQL) If not (formatDate.BOF Or formatDate.EOF) Then dtmFormatDate = formatDate("FormDate") End If
strSQL = "SELECT Count(*) AS ItemCount FROM Entries WHERE (ReplyID = " & rs("Id") & ") AND (OrgThread <> TRUE)" Set recordCount = myConn.Execute(strSQL) strHTML = strHTML & "<tr><td><a href=""viewmsg.asp?id=" & rs("ID") & "&ForumID=" & intForumID & """>" & Server.HTMLEncode(rs("Subject")) & "</font></a></td>" strHTML = strHTML & "<td valign=top>" & recordCount("ItemCount") & "</font></td>" strHTML = strHTML & "<td valign=top>" & dtmFormatDate & "</font></td></tr>" rs.MoveNext Loop End If myConn.Close Set myConn = Nothing %> <html>
Min comp er til rep, så jeg er ikke online så meget..
Men har du prøvet 08/09-2005 16:36:01 ?
Dvs, "... order by [date] desc" ..?
Hvilken SQL sætning er det?
Synes godt om
Slettet bruger
16. september 2005 - 11:39#8
Hej Undskyld jeg har været lidt længe om det. Uanset havd jeg vælger sorterer den på hvornår indlægget er oprettet og ikke hvornår der sidst er lagt et svar.
Har du overhovedet fulgt instruktionerne i indlægget 12/09-2005 10:42:57? Hvis ikke, gør det lige..
Ellers, prøv at tilføje " order by NavnetPåDitDatoFelt" til SQL-linien:
strSQL = "SELECT Count(*) AS ItemCount FROM Entries WHERE (ReplyID = " & rs("Id") & ") AND (OrgThread <> TRUE) order by NavnetPåDitDatoFelt" Set recordCount = myConn.Execute(strSQL)
Hvis der er noget du ikke forstår, skal du sige til.. med det samme, så jeg ikke skal gættte mig frem..
Og nu hvor du er igang, kom lige med navnene og typerne på alle dine felter (i databasen).
/theSurfer
Synes godt om
Slettet bruger
19. september 2005 - 14:30#12
Hej Min kode ser sådan ud: <!--#include file="functions.inc"--> <% Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open strDSN
strSQL = "SELECT * FROM Forums WHERE (ID = " & Request("ForumID") & ")" Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then strForum = rs("Forum") strDescription = rs("Description") intForumID = rs("ID") End If
strSQL = "SELECT *, Format$([date],'dd/mm/yyyy') AS FormDate, Format$([date],'hh:mm') AS FormTime FROM Entries WHERE (ForumID = " & Request("ForumID") & ")" strSQL = strSQL & " AND (OrgThread = True)ORDER BY ID DESC" Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then Do While Not rs.EOF
strSQL = "SELECT *, Format$([date],'dd/mm/yyyy') AS FormDate, Format$([date],'hh:mm') AS FormTime FROM Entries WHERE (ReplyId =" & rs("Id") & ") OR (ID =" & rs("Id") & ") ORDER BY ID DESC" Set formatDate = myConn.Execute(strSQL) If not (formatDate.BOF Or formatDate.EOF) Then dtmFormatDate = formatDate("FormDate") End If
strSQL = "SELECT Count(*) AS ItemCount FROM Entries WHERE (ReplyID = " & rs("Id") & ") AND (OrgThread <> TRUE)" Set recordCount = myConn.Execute(strSQL) strHTML = strHTML & "<tr><td><a href=""viewmsg.asp?id=" & rs("ID") & "&ForumID=" & intForumID & """>" & Server.HTMLEncode(rs("Subject")) & "</font></a></td>" strHTML = strHTML & "<td valign=top>" & recordCount("ItemCount") & "</font></td>" strHTML = strHTML & "<td valign=top>" & dtmFormatDate & "</font></td></tr>" rs.MoveNext Loop End If myConn.Close Set myConn = Nothing %> <html>
<table border="1" width="600" cellspacing="0" cellpadding="5" bgcolor bordercolor="#FFFFFF"> <tr> <td width="596" colspan="2" bgcolor="#AFB9CA"><strong>Forum: <%=strForum%></strong><p> </td> </tr> <tr> <td valign="top" align="left" width="70%"><font face="Ariel"><%=strDescription%></font><p> </p> <p>Hvis du vil vil svare på et indlæg klik på indlæg/emne</td> <td valign="top" align="left" nowrap width="30%"> <ul type="square"> <li><a href="default.asp"><font face="Verdana"><b><small>Til oversigt</small></b></font></a></li> </ul> <p> <ul type="square"> <li><font face="Verdana"><strong><a href="forumpost.asp?ForumId=<%=intForumID%>"><small>Opret indlæg</small></a><br> </strong></font></li> </ul> </td> </tr> <tr> <td width="598" colspan="2"><table border="1" width="100%" cellspacing="0" cellpadding="2" bordercolor="#AFB9CA"> <tr> <td width="234" bgcolor="#AFB9CA"><strong>Indlæg/emne</strong></td> <td width="37" bgcolor="#AFB9CA" align="center"><strong>Svar</strong></td> <td width="117" bgcolor="#AFB9CA" align="center"><strong>Seneste indlæg</strong></td> </tr> <%=strHTML%> </table> </td> </tr> </table> </body> </html> Jeg har prøvet dit forslag med ASC og DESC og så viser den som sagt bare datoen for indlæggets oprettelse, hvor skal jeg sætte den kode ind du foreslår ? Feltet i DB er date og typen er Dato og klokkeslet.
hmm.. jeg troede at jeg havde sat det logisk op.. men det havde jeg så åbenbart ikke.. :-)
Der er kun 1 sted, hvor der står: (OrgThread <> TRUE)
Så skal det være "[date]" i stedet for "NavnetPåDitDatoFelt"
Se 19/09-2005 14:18:13 igen..
..faktisk det samme med 08/09-2005 16:36:01 og 12/09-2005 10:42:57 :-)
/theSurfer
Synes godt om
Slettet bruger
19. september 2005 - 14:44#14
Ja, jeg kunne selvfølgelig også læse ordentligt, men - nu får jeg denne fejl Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'DATE' as part of an aggregate function.
Du får hele igen: <!--#include file="functions.inc"--> <% Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open strDSN
strSQL = "SELECT * FROM Forums WHERE (ID = " & Request("ForumID") & ")" Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then strForum = rs("Forum") strDescription = rs("Description") intForumID = rs("ID") End If
strSQL = "SELECT *, Format$([date],'dd/mm/yyyy') AS FormDate, Format$([date],'hh:mm') AS FormTime FROM Entries WHERE (ForumID = " & Request("ForumID") & ")" strSQL = strSQL & " AND (OrgThread = True)ORDER BY ID DESC" Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then Do While Not rs.EOF
strSQL = "SELECT *, Format$([date],'dd/mm/yyyy') AS FormDate, Format$([date],'hh:mm') AS FormTime FROM Entries WHERE (ReplyId =" & rs("Id") & ") OR (ID =" & rs("Id") & ") ORDER BY ID DESC" Set formatDate = myConn.Execute(strSQL) If not (formatDate.BOF Or formatDate.EOF) Then dtmFormatDate = formatDate("FormDate") End If
strSQL = "SELECT Count(*) AS ItemCount FROM Entries WHERE (ReplyID = " & rs("Id") & ") AND (OrgThread <> TRUE) ORDER BY Date" Set recordCount = myConn.Execute(strSQL) strHTML = strHTML & "<tr><td><a href=""viewmsg.asp?id=" & rs("ID") & "&ForumID=" & intForumID & """>" & Server.HTMLEncode(rs("Subject")) & "</font></a></td>" strHTML = strHTML & "<td valign=top>" & recordCount("ItemCount") & "</font></td>" strHTML = strHTML & "<td valign=top>" & dtmFormatDate & "</font></td></tr>" rs.MoveNext Loop End If myConn.Close Set myConn = Nothing %> <html>
PS: Der er en masse ord, der er reserveret.. dem må man ikke direkte bruge.. derfor skal der "[]" udenom..
Det er bl.a.: select, count, as, from, where, and, or, by, date .... listen er lang
Læg mærke til, at "by" (der lyder dansk, men er det ikke) også skal være "[by]"..
/theSurfer
Synes godt om
Slettet bruger
19. september 2005 - 14:57#19
Det ændrer desværre ikke noget: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression '[Date]' as part of an aggregate function.
og vi prøver lige igen... skriv altid SQL linie.. altså, linien der melder fejl i..
Jeg skal altid bruge disse oplysninger:
- fejlmeddelelsen (kopier og sæt ind)
- selve linien der er fejl i
- eventuelle værdier/variabler der hentes/bruges
/theSurfer
Synes godt om
Slettet bruger
19. september 2005 - 15:07#22
Fejlen: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression '[Date]' as part of an aggregate function.
Linien der melder fejl: strSQL = "SELECT Count(*) AS ItemCount FROM Entries WHERE (ReplyID = " & rs("Id") & ") AND (OrgThread <> TRUE) ORDER BY [Date]"
strSQL = "SELECT Count(*) AS ItemCount FROM Entries WHERE ((ReplyID = " & rs("Id") & ") AND (OrgThread <> TRUE)) ORDER BY [Date]"
Og lige et spørgsmål.. er "Date"-feltet (som du vil sortere efter) også i "Entries"-tabellen?
/theSurfer
Synes godt om
Slettet bruger
19. september 2005 - 15:13#24
Det giver samme fejl, samme linie: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression '[Date]' as part of an aggregate function. Ja, det er i tabellen.
Hmm.. jeg tror faktisk at det er det forkerte sted.. det er nok her, at "ID" skal være "[date]":
strSQL = strSQL & " AND (OrgThread = True)ORDER BY ID DESC"
Denne linie fremkommer kun 1 gang i din kode..
Hvis det ikke er alt for besværligt, omdøb "Date"-feltet i databasen, til f.eks. "Dato".. husk også at opdatere alle henvisninger til "Date"-feltet.. det skulle meget gerne kun være dem, der hedder "[date]"..
/theSurfer
Synes godt om
Slettet bruger
19. september 2005 - 15:27#26
Hvid jeg ændrer til det sorterer den stadig på oprindeligt indlæg, men tak for indsatsen
Nej, tak.. du snupper dem bare selv (smid selv et svar, osv..) -- Husk at acceptere svaret..
/theSurfer
Synes godt om
Ny brugerNybegynder
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.