Trots att det finns hits den senaste dagen lagrade i databasen så skrivs "Inga hits den senaste dagen " ut, variabeln antal har ju ett värde som är större än ett..varför kan det komma sig att if satsen inte fungerar...?:l
'## Hits idag ##'
SQL = "SELECT Datum,COUNT(*) AS antal FROM tblHits WHERE Day(Datum) = Day('" & Now() & "') GROUP BY Datum ORDER BY Datum"
Set RS = Conn.Execute(SQL)
IF antal < 1 THEN
Response.Write "<br>Inga hits senaste dagen<br>"
Else
Response.Write"<td><b><br>För idag, </td><td>" & WeekdayName(Weekday(Date)) & " är "& (RS("antal"))& "</b><br>"
End IF
Nix, variabeln antal har inte ett värde som är större än ett. Den har nämligen inget värde alls, eftersom du inte gett den ett värde.
SQL = "SELECT Datum,COUNT(*) AS antal FROM tblHits WHERE Day(Datum) = Day('" & Now() & "') GROUP BY Datum ORDER BY Datum"
Set RS = Conn.Execute(SQL)
[b]antal=Clng(RS("antal"))[/b]
IF antal < 1 THEN
Men, är du säker på att din SQL-fråga stämmer? Varför har du med Datum i SELECT-delen? Borde du inte också ha med månad och år i WHERE-satsen, så det inte bara duger med valfri 23:e?
Visst du har helt rätt...tänkte inte på det.. ;) Så nu har jag försökt få till det med en ny SQL fråga..
SQL = "SELECT PageID,COUNT(*) AS antal FROM tblHits WHERE Tid = DatePart(hour,'"& Time &"') AND Datum ='"& FormatDateTime(Now,2)&"' GROUP BY PageID ORDER BY PageID"
Lagrar tiden i en kolumn som heter Tid och Datum i en kolumn som heter Datum och vill ju jämföra tiden nu med båda kolumnerna... tänker jag fel..
Typerna för Tid är nvarchar och för Datum DateTime.
Får följande felmeddelande..vid denna SQL frågan ovan..
Syntax error converting the nvarchar value '11:57:27' to a column of data type int.
En stark gissning: DatePart är en ASP-funktion och inte en SQL-funktion. :)
R// Detta borde alltså fungera:
SQL = "SELECT PageID,COUNT(*) AS antal FROM tblHits WHERE Tid = " & Hour(Time) & " AND Datum = '" & FormatDateTime(Now, 2) & "' GROUP BY PageID ORDER BY PageID"