Då får du konvertera till en sträng
strSQL = "Select count(*) as no, " & _
" cstr(year(datum)) & "-" & cstr(month(datum)) & "-" & cstr(day(datum)) & " " & cstr(time(datum)) & as inLoggad " & _
29 svar · 538 visningar · startad av ampy · sida 2 av 2
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 & "'")
Läs frågan i sin helhet →Då får du konvertera till en sträng
strSQL = "Select count(*) as no, " & _
" cstr(year(datum)) & "-" & cstr(month(datum)) & "-" & cstr(day(datum)) & " " & cstr(time(datum)) & as inLoggad " & _
Får fortfarande samma felmeddelande, det med inkompitabla typer.
Jo, jag förstår det
strSQL = "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 "
Jag vet inte om funktionen Cdate stöds i Access, men du kan testa denna i så fall
strSQL = "Select count(*) as no, " & _
" cdate(datum) as inLoggad " & _
"from inloggningar " & _
"WHERE vad = 'loggain' " & _
"AND datediff('d',datum,now()) <= 20 " & _
"group by 2 " & _
"order by 2 desc "
Nu får jag detta fel:
Microsoft][Drivrutin för ODBC Microsoft Access] Du försökte köra en fråga med en mängdfunktion som inte innehöll det angivna uttrycket 'year(datum) & '-' & month(datum) & '-' & day(datum)'.
På denna rad:
" year(datum) & '-' & month(datum) & '-' & day(datum) as inLoggad " & _
Alltså kolumnen datum innehåller tex detta 2002-03-27 22:06
som du kanske inte kommer ihåg :l
Men jag vill ju bara använda datumen och inte klockan som du kasnke minns.
Så här då?
strSQL = "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 year(datum) & '-' & month(datum) & '-' & day(datum) " & _
"order by 2 desc "
Nu funkar det :birp
Men ett litet fel när den skriver ut, så här ser det ut:
2002-3-9: 8
2002-3-8: 36
2002-3-27: 3
2002-3-26: 15
2002-3-25: 1
2002-3-24: 13
2002-3-23: 12
2002-3-22: 6
2002-3-21: 4
2002-3-20: 4
2002-3-19: 9
2002-3-18: 4
2002-3-17: 10
2002-3-16: 8
2002-3-15: 4
2002-3-14: 2
2002-3-13: 1
2002-3-12: 9
2002-3-11: 3
2002-3-10: 8
Den skriver ut månaden med bara 3, jag vill ha 03 och sen så kommer dag 8 och 9 före de andra för att 8 och 9 är "högre" än
27, jag vill ha så att den skirver ut efter datum.
SEn blir allt perfekt :)
strSQL = "Select count(*) as no, " & _
" year(datum) & '-' & right('0' & month(datum),2) & '-' & right('0' & day(datum),2) as inLoggad " & _
"from inloggningar " & _
"WHERE vad = 'loggain' " & _
"AND datediff('d',datum,now()) <= 20 " & _
"group by year(datum) & '-' & month(datum) & '-' & day(datum) " & _
"order by 2 desc "
Nu är nollorna ok så det ser ut så här:
2002-03-09: 8
2002-03-08: 36
2002-03-27: 4
2002-03-26: 15
2002-03-25: 1
2002-03-24: 13
2002-03-23: 12
2002-03-22: 6
2002-03-21: 4
2002-03-20: 4
2002-03-19: 9
2002-03-18: 4
2002-03-17: 10
2002-03-16: 8
2002-03-15: 4
2002-03-14: 2
2002-03-13: 1
2002-03-12: 9
2002-03-11: 3
2002-03-10: 8
Men dag 08 och dag 09 ligger fortfarande överst, varför?
Det är lite skumt, jag vet inte om detta hjälper
strSQL = "Select count(*) as no, " & _
" year(datum) & '-' & right('0' & month(datum),2) & '-' & right('0' & day(datum),2) as inLoggad " & _
"from inloggningar " & _
"WHERE vad = 'loggain' " & _
"AND datediff('d',datum,now()) <= 20 " & _
"group by year(datum) & '-' & right('0' & month(datum),2) & '-' & right('0' & day(datum),2) " & _
"order by 2 desc "
Det funkar perfekt nu, tack för allt LarsG :birp