har en databas i Access som loggar alla besökare. Jag räknar ut hur många som varit inne totalt och hur många som varit inne de senaste 7 dagarna. När jag kollar nu så får jag samma resultat på de båda... Den koda jag har för att plocka ut antalet de senaste 7 dgr.. verkar inte funka för den skriver ut det totala antalet besök som sidan haft
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../counter.mdb")&";"
Set RS = Server.CreateObject("ADODB.Recordset")
sql = "Select Count(*) as X from counter where datum > #"&DateAdd("d",-7,Now)&"#"
rs.Open sql,conn,3,3
antal = rs("X")
%>
Har du testat att skriva datum statiskt i frågan istället för att använda DateAdd("d",-7,Now) ?
where datum > #2004-04-10 23:58:29#"
DateAdd("d",-7,Now) ger resultatet 2004-04-10 23:58:29.
Lite osäker men jag undrar om inte formatet på fältet i databasen måste vara samma som du skickar in, alltså (ÅÅÅÅ-MM-DD HH:MM:SS).
Sorry, tänkte inte, jag kör Session.LCID = 1053 på min burk.
Du kan ju skriva ut funktionen med
Response.Write(DateAdd("d",-7,Now))
och kolla formatet på din burk.
Jag brukar försöka se till att funktionen returnerar samma format som det i databasen, har jag inget klockslag i db:n finns det ingen anledning att fråga efter det.
jag fixade till det i Databasen istället men fick ett annat fel nu!
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../../counter.mdb")&";"
Set RS = Server.CreateObject("ADODB.Recordset")
sql = "Select Count(*) as X from counter where month = 4"
RS.Open sql,conn,3,3
antal = rs("X")
%>