[red]
<%
Set oRS = Connect.Execute("Select count(*) as no " & _
"from inloggningar " & _
"WHERE vad = 'loggain' " & _
"AND Left(datum,10) > '" & DateAdd("D", -20, Date()) & "'")
Response.Write oRS("no")
%>
[/red]
denna kanske funkar......
29 svar · 538 visningar · startad av ampy
Denna kod här nedan skriver ut antal inloggningar som har gjorts idag. Men är det möjligt att skriva ut alla på en lista sedan tex 20 dagar tillbaka?
Alltså att jag vill skriva ut hur många inloggningar det har gjorts idag, förrgår osv.
<%
Set oRS = Connect.Execute("Select count(*) as no " & _
"from inloggningar " & _
"WHERE vad = 'loggain' " & _
"AND Left(datum,10) = '" & date & "'")
Response.Write oRS("no")
%>
[red]
<%
Set oRS = Connect.Execute("Select count(*) as no " & _
"from inloggningar " & _
"WHERE vad = 'loggain' " & _
"AND Left(datum,10) > '" & DateAdd("D", -20, Date()) & "'")
Response.Write oRS("no")
%>
[/red]
denna kanske funkar......
Denna kod tror jag skrev ut summan under alla tjugo dagarna men jag vill skriva ut alla siffror på en lista med det datumet bredvid.
Ingen annan som kan?
<%
Set oRS = Connect.Execute("Select count(*) as no, datum " & _
"from inloggningar " & _
"WHERE vad = 'loggain' " & _
"AND datediff('d',datum,now()) <= 20 " & _
"group by datum "
"order by datum desc "
while not rs.eof
response.write rs("datum") & ": " & rs("no") & "<br>"
rs.movenext
wend
%>
ack ack
<%
Set oRS = Connect.Execute("Select count(*) as no, datum " & _
"from inloggningar " & _
"WHERE vad = 'loggain' " & _
"AND datediff('d',datum,now()) <= 20 " & _
"group by datum " & _
"order by datum desc ")
while not rs.eof
response.write rs("datum") & ": " & rs("no") & "<br>"
rs.movenext
wend
%>
Ändra lite på koden så att den ser ut såhär:
<%
Set oRS = Connect.Execute("Select count(*) as no, datum " & _
"from inloggningar " & _
"WHERE vad = 'loggain' " & _
"AND datediff('d',datum,now()) <= 20 " & _
"group by datum " & _
"order by datum desc ")
while not oRS.eof
response.write oRS("datum") & ": " & oRS("no") & "<br>"
oRS.movenext
wend
%>
Nu blir det inget felmeddelande men nu skriver den ut alla poster med det datumet och 1 bredvid, men jag vill skriva ut ett datum med det antal inloggningar under den dan.
Hur ligger datum lagrat? Är det med klockslag?
<%
Set oRS = Connect.Execute("Select count(*) as no, " & _
" year(datum) & "-" & month(datum) & "-" & day(datum) as inLoggad " & _
"from inloggningar " & _
"WHERE vad = 'loggain' " & _
"AND datediff('d',datum,now()) <= 20 " & _
"group by 2 " & _
"order by 2 desc ")
while not oRS.eof
response.write oRS("inLoggad") & ": " & oRS("no") & "<br>"
oRS.movenext
wend
%>
blir kanske bättre
Får:
Körningsfel i Microsoft VBScript fel '800a000d'
Inkompatibla typer: 'Connect'
/80/main.asp, line 130
Rad 130 med fetstil:
<%
[b]Set oRS = Connect.Execute("Select count(*) as no, " & _[/b]
" year(datum) & "-" & month(datum) & "-" & day(datum) as inLoggad " & _
"from inloggningar " & _
"WHERE vad = 'loggain' " & _
"AND datediff('d',datum,now()) <= 20 " & _
"group by 2 " & _
"order by 2 desc ")
while not oRS.eof
response.write oRS("inLoggad") & ": " & oRS("no") & "<br>"
oRS.movenext
wend
%>
Jag använder Connect för koderna innan har ju funkat.
Ingen som vet felet?
LarsG: datum innehåller också klockslag, har jag ändrat denna kod rätt?
<%
[b]Set oRS = Connect.Execute("Select count(*) as no, " & _[/b]
" year(datum) & "-" & month(datum) & "-" & day(datum) & "" & time(datum) & as inLoggad " & _
"from inloggningar " & _
"WHERE vad = 'loggain' " & _
"AND datediff('d',datum,now()) <= 20 " & _
"group by 2 " & _
"order by 2 desc ")
while not oRS.eof
response.write oRS("inLoggad") & ": " & oRS("no") & "<br>"
oRS.movenext
wend
%>
Men av denna kod får jag detta felmeddelande:
Körningsfel i Microsoft VBScript fel '800a000d'
Inkompatibla typer: 'Connect'
/80/main.asp, line 132
Rad 132 är skriven med fetstil i koden ovan.
Så här ser min databasöppning ut:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("community.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
%>
Det här är nu hela sidan så det kan inte vara ngt annat som orsakar felet än det som står här:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("community.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
strSQL = "Select count(*) as no, " & _
" year(datum) & "-" & month(datum) & "-" & day(datum) & "" & time(datum) & as inLoggad " & _
"from inloggningar " & _
"WHERE vad = 'loggain' " & _
"AND datediff('d',datum,now()) <= 20 " & _
"group by 2 " & _
"order by 2 desc "
Set oRs = Connect.Execute strSQL
while not oRS.eof
response.write oRS("inLoggad") & ": " & oRS("no") & "<br>"
oRS.movenext
wend
RecSet.Close
Connect.Close
Set RecSet = Nothing
Set Connect = Nothing
%>
Felmeddelande:
Kompileringsfel i Microsoft VBScript fel '800a0401'
Slut på programsats förväntas.
/80/test.asp, line 23
Set oRs = Connect.Execute strSQL
--------------------------^
Ser ut som om du har en tom rad mitt i din strSQL-sats.
Spelar ingen roll, får fortfarande samma felmeddelande.
Ingen annan som vet felet?
Prova det här
strSQL = "Select count(*) as no, "
strSQL = strSQL & "year(datum) & "-" & month(datum) & "-" & day(datum) & " " & time(datum) & " as inLoggad "
strSQL = strSQL & "from inloggningar WHERE vad = 'logga in' "
strSQL = strSQL & "AND datediff('d', datum,now()) <= 20 "
strSQL = strSQL & "GROUP by 2 ORDER BY 2 DESC"
Vad är year(datum ) för någonting????
LarsG: När jag la till paranteserna så får jag detta fel:
Körningsfel i Microsoft VBScript fel '800a000d'
Inkompatibla typer: '[string: "year(datum) & "]'
/80/test.asp, line 13
Rad 13:
"year(datum) & "-" & month(datum) & "-" & day(datum) & "" & time(datum) & as inLoggad " & _'