Hej!
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")
%>
Ser nån felet?
MogMedlem sedan nov. 2003266 inlägg 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).
ok hur skriver ja gom formatet är så här
4/5/2004
Bengt
MogMedlem sedan nov. 2003266 inlägg 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")
%>
Får
"Data type mismatch in criteria expression. "
MogMedlem sedan nov. 2003266 inlägg Vad har du för datatyp på month ?
Testa med fnuttar.
sql = "Select Count(*) as X from counter where month = '4'"
@ndersMedlem sedan juni 200032 969 inlägg Month är inget bra kolumnnamn, då det är namnet på en funktion. Byt namn på fältet.
Jesper TMedlem sedan nov. 20017 144 inlägg DateAdd går väll att plocka in direkt i sql-satsen också?!
sql = "Select Count(*) as X from counter where datum > DateAdd('d',-7,Now())"
Engine^Medlem sedan dec. 20003 887 inlägg Eller med en annan datumfunktion möjligen...
SELECT Count(*) AS X
FROM counter
WHERE DateDiff("d", Now(), datum) >= -7