webForumDet fria alternativet

Skriva ut antal inloggningar i 20 dagar

ASP

29 svar · 538 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Frågan#1

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")
%>
Medlem sedan okt. 20005 273 inlägg
#2
[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......

Medlem sedan feb. 20011 498 inlägg
#3

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.

Medlem sedan okt. 20005 273 inlägg
#4

ok....läste inte frågan så noga första gånge :r

Och tyvärr det blev för mycket för mig......

Medlem sedan feb. 20011 498 inlägg
#5

Ingen annan som kan?

Medlem sedan dec. 200012 464 inlägg
#6
<%
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

%>
Medlem sedan feb. 20011 498 inlägg
#7

')' förväntas.

/80/main.asp, line 133

"group by datum"
----------------^

Medlem sedan dec. 200012 464 inlägg
#8

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

%>
Medlem sedan feb. 20011 498 inlägg
#9

Ä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.

Medlem sedan dec. 200012 464 inlägg
#10

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

Medlem sedan feb. 20011 498 inlägg
#11

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.

Medlem sedan feb. 20011 498 inlägg
#12

Ingen som vet felet?

Medlem sedan feb. 20011 498 inlägg
#13

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")
	%>
Medlem sedan feb. 20011 498 inlägg
#14

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
--------------------------^
Medlem sedan mars 20015 287 inlägg
#15

Ser ut som om du har en tom rad mitt i din strSQL-sats.

Medlem sedan feb. 20011 498 inlägg
#16

Spelar ingen roll, får fortfarande samma felmeddelande.

Medlem sedan feb. 20011 498 inlägg
#17

Ingen annan som vet felet?

Medlem sedan mars 20023 561 inlägg
#18

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????

Medlem sedan dec. 200012 464 inlägg
#19
Set oRs = Connect.Execute (strSQL)

Funktionen year returnerar årtalet från ett datumvärde.

Medlem sedan feb. 20011 498 inlägg
#20

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 " & _'
266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)