Hej.. har ett fint statistik script som tyvärr är väldigt segt då jag har ca 50 000 hits på 1 månad.. Behöver tips på hur jag kan snabba upp koden : Låt databasen göra jobbet istället för att ställa många frågor. Nått i denna stilen borde fungera (har inte testat): Härligt Johan.. ska testa det.. Koden fungerade nästan perfekt... Om man ej haft träffar varje dag (kommer iofs nog alltid att ha hits) så blir det inte 31 dagar som returneras, men jag fixar nog till en fin kod för det..Statistik script segt...
<%
Dim I, I2, ArrAntal(31)
SQL = "SELECT Count(*) As totAntal FROM tCounter WHERE Datum BETWEEN #" & DateAdd("d",-30,Date) & "# AND #" & DateAdd("d",1,Date) & "#"
RS.Open SQl, Conn, 0, 1
totAntal = RS("totAntal")
RS.Close
For I = DateAdd("d",-30,Date) To Date
I3 = I3 + 1
SQL = "SELECT Count(*) As Antal FROM tCounter WHERE Datum BETWEEN #" & I & " 00:00:00# AND #" & I & " 23:59:59#"
RS.Open SQL, Conn, 0, 1
ArrAntal(I3) = RS("Antal")
If Max < ArrAntal(I3) Then
Max = ArrAntal(I3)
End If
RS.Close
Next
Ratio = Max / 120 ' För att kunan räkna ut höjden på staplarna, 120 är maxhöjden.
%>Sv: Statistik script segt...
<code>
Dim I3, ArrAntal(31), totAntal
SQL = "SELECT DateValue([Datum]) AS Dat, COUNT(*) AS Antal FROM tCounter WHERE Datum BETWEEN #" & DateAdd("d",-30,Date) & "# AND #" & DateAdd("d",1,Date) & "# GROUP BY DateValue([Datum]) ORDER BY DateValue([Datum])"
totAntal = 0
RS.Open SQl, Conn, 0, 1
Do until RS.EOF
totAntal = totAntal + RS("Antal")
I3 = I3 + 1
ArrAntal(I3) = RS("Antal")
If Max < ArrAntal(I3) Then
Max = ArrAntal(I3)
End If
Loop
RS.Close
Ratio = Max / 120
</code>
/JohanSv:Statistik script segt...
Varför är det så svårt att hitta bra info om SQL?Sv:Statistik script segt...
Du hade glömt RS.MoveNext också :)