mackanz Medlem sedan sep. 2003 443 inlägg Frågan 25 nov. 2004 15:44 #1 Hej!
Jag har på en sida en turnéplan för ett dansband.
Kan man göra så att spelningar raderas utomatiskt när dom är gamla?
/Markus
Smidigast är väl att ha ett datum i tabellen och bara inte visa dem när de är gamla. Typ:
SELECT * FROM tblGig WHERE GigDate >= DateAdd(m, -1, GETDATE())
Annars får man väl schemalägga en delete. Typ:
DELETE FROM tblGig WHERE GigDate < DateAdd(m, -1, GETDATE())
Det där är inte hela din kod.
mackanz Medlem sedan sep. 2003 443 inlägg oke, här kommer hela koden..
<!--#include virtual="muffins.asp"-->
<%
sql = "SELECT * from SPELPLAN ORDER BY DATUM ASC"
rs.open sql, mincon, 3, 3
%>
<br>
<table border="0" cellpadding="3" cellspacing="0" WIDTH="600" ALIGN="CENTER">
<TR>
<td colspan="3"><img src="bilder/rubrik_turneplan.gif"></td></tr>
<tr>
<td>Datum</td><td>Ort</td><td>Spelplats</td></tr>
<tr>
<%
vColor = Array("#E4D7CD", "#F0E5DD")
i = 0
do while not rs.eof
%>
<tr bgcolor="<%=vColor(i Mod 2)%>">
<td><%
Session.LCID = 1053
Response.write cDate(rs("datum"))
%></td><td><%=rs("ORT")%></td><td><a href="<%=rs("URL")%>" target="_blank"><%=rs("SPELPLATS")%></a></td>
</tr>
<%
rs.movenext
i = i + 1
loop
rs.Close
%>
</table>
@nders Medlem sedan juni 2000 32 967 inlägg Men, var är [kod]-taggarna som gör koden fin och lättläst?
cyprys Medlem sedan dec. 2000 3 563 inlägg Då gör du precis som Juhlin sa tidigare.
<%
sql = "SELECT * from SPELPLAN WHERE DATUM >= DateAdd(d, -1, GETDATE()) ORDER BY DATUM ASC"
rs.open sql, mincon, 3, 3
%>
...
På det sättet kommer bara dagens och framtida spelningar att hamna på sidan.
mackanz Medlem sedan sep. 2003 443 inlägg tack, men det funkade inte så bra..
får följande meddelande:
Microsoft JET Database Engine error '80040e14'
Undefined function 'GETDATE' in expression.
/spelplan.asp, line 18
@nders Medlem sedan juni 2000 32 967 inlägg Byt GETDATE() mot now() eller date() eftersom du använder access.
mackanz Medlem sedan sep. 2003 443 inlägg funkar inget vidare...
får nytt fel nu..
Microsoft JET Database Engine error '80040e10'
No value given for one or more required parameters.
/spelplan.asp, line 18
@nders Medlem sedan juni 2000 32 967 inlägg Och du har ett datumfält som heter datum?
mackanz Medlem sedan sep. 2003 443 inlägg ja jag har ett fält som heter datum och det är av datatypen datum/tid i databasen
@nders Medlem sedan juni 2000 32 967 inlägg Hur ser din SQL-fråga ut nu då?
mackanz Medlem sedan sep. 2003 443 inlägg <%
sql = "SELECT * from SPELPLAN WHERE DATUM >= DateAdd(d, -1, DATE()) ORDER BY DATUM ASC"
rs.open sql, mincon, 3, 3
%>
...
@nders Medlem sedan juni 2000 32 967 inlägg Någon har klantat sig.
sql = "SELECT * from SPELPLAN WHERE DATUM >= DateAdd('d', -1, DATE()) ORDER BY DATUM ASC"
@nders Medlem sedan juni 2000 32 967 inlägg Du skulle ju alltid kunna tacka genom att acceptera det svar som löste problemet som slutgiltigt.
mvh
Jag klantade mig inte. Jag skrev koden för SQL Server eftersom inget annat angavs och det är det jag använder.
I SQL-server skriver man inte det med apostrofer.
@nders Medlem sedan juni 2000 32 967 inlägg Nä, det är klart. Men du borde kanske inte ha utgått ifrån SQL Server. =)