Det känns som att det är följande:
...WHERE Datum = sDate ...
Är sDate ett fält i din tabell, eller en variabel?
Annars: kontrollera utskriften av SQL-frågan med Response.write.
Mvh,
3 svar · 264 visningar · startad av Rossifumi
Hejsan jag håller på med en kalender.
För varje heltimma är uppdelad i två (se bild)
Mitt problem kommer när jag vill plocka ut just det klockslaget i loopen.
Kod:
<table width="700" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td colspan="2" align="center" class="header" bgcolor="#E0DFE3" height="30" background="img/bg_head.gif"><% = sToday %></td>
</tr>
<%
datStartTid = FormatDateTime(CDate("2002-01-01 00:00"),4)
For i = 1 To 24
If Left(datStartTid,2) <= 04 OR Left(datStartTid,2) => 18 Then
sBgImage = "img/bg_kalender_b.gif"
Else
sBgImage = "img/bg_kalender.gif"
End If
sTid1 = datStartTid
sTid2 = FormatDateTime(DateAdd("n", 60, datStartTid),4)
SQL = "SELECT * FROM kalender WHERE Datum = sDate AND (Klockslag BETWEEN #" & sTid1 & "# AND #" & sTid2 & "#)"
Set oRS = strCon.Execute(SQL)
Response.Write "<tr>" & VbCrLf
Response.Write "<td rowspan=""2"" width=""40"" height=""40"" align=""left"" valign=""middle""><img src=""img/klockan/" & Left(datStartTid,2) & ".gif"" width=""40"" height=""40""></td>" & VbCrLf
Response.Write "<td width=""660"" height=""20"" background=""" & sBgImage & """> </td>" & VbCrLf
Response.Write "</tr>" & VbCrLf
Response.Write "<tr>" & VbCrLf
Response.Write "<td width=""660"" height=""20"" background=""" & sBgImage & """> </td>" & VbCrLf
Response.Write "</tr>" & VbCrLf
datStartTid = FormatDateTime(DateAdd("n", 60, datStartTid),4)
Next
%>
</table>
Den klagar på raden: Set oRS = ...
Feltyp:
Microsoft JET Database Engine (0x80040E10)
Det har inte angetts något värde för en eller flera nödvändiga parametrar.
/Default.asp, line 42
Är det någon som ser vad som är fel???
Det känns som att det är följande:
...WHERE Datum = sDate ...
Är sDate ett fält i din tabell, eller en variabel?
Annars: kontrollera utskriften av SQL-frågan med Response.write.
Mvh,
OK, tack @nders...
Men nu fick jag ett annat problem...
Hela sidkoden
<!-- #include file = "includes/openDB.asp" -->
<%
If Request.QueryString("display_date") = "" Then
sDate = Date
sToday = UCase(WeekDayName(WeekDay(Now))) & "EN den " & Day(Now) & " " & MonthName(Month(Now)) & ", " & Year(Now)
End If
%>
<html>
<head>
<title>TVÅ GRÄVARE</title>
<style type="text/css">
<!--
td,tr,body {font-family: Trebuchet MS, Verdana; font-size: 12px; color: black;}
.header {font-family: Trebuchet MS, Verdana; font-size: 14px; color: black; font-weight: bold;}
-->
</style>
</head>
<body bgcolor="#FFFFFF">
<table width="700" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td colspan="2" align="center" class="header" bgcolor="#E0DFE3" height="30" background="img/bg_head.gif"><% = sToday %></td>
</tr>
<%
datStartTid = FormatDateTime(CDate("2002-01-01 00:00"),4)
For i = 1 To 24
If Left(datStartTid,2) <= 04 OR Left(datStartTid,2) => 18 Then
sBgImage = "img/bg_kalender_b.gif"
Else
sBgImage = "img/bg_kalender.gif"
End If
sTid1 = datStartTid
sTid2 = FormatDateTime(DateAdd("n", 60, datStartTid),4)
SQL = "SELECT * FROM kalender WHERE Datum = #" & CDate(sDate) & "# AND (Klockslag BETWEEN #" & sTid1 & "# AND #" & sTid2 & "#)"
Set oRS = strCon.Execute(SQL)
If Not oRS.EOF Then
sNot = oRS("Notering")
Else
sNot = ""
End If
Response.Write "<tr>" & VbCrLf
Response.Write "<td rowspan=""2"" width=""40"" height=""40"" align=""left"" valign=""middle""><img src=""img/klockan/" & Left(datStartTid,2) & ".gif"" width=""40"" height=""40""></td>" & VbCrLf
Response.Write "<td width=""660"" height=""20"" background=""" & sBgImage & """> " & sNot & "</td>" & VbCrLf
Response.Write "</tr>" & VbCrLf
Response.Write "<tr>" & VbCrLf
Response.Write "<td width=""660"" height=""20"" background=""" & sBgImage & """> </td>" & VbCrLf
Response.Write "</tr>" & VbCrLf
datStartTid = FormatDateTime(DateAdd("n", 60, datStartTid),4)
Next
%>
</table>
</body>
</html>
I databasen finns två poster, en 13:00 och en 14:00.
Men ifall jag kollar på sidan nu så skrivs den 13:00 ut både 12:00, 13:00 och 23:00. Medans den 14:00 bara skrivs ut 14:00...
Varför???
Tror att jag löste det själv...
Ändrade:
sTid1 = datStartTid
sTid2 = FormatDateTime(DateAdd("n", 60, datStartTid),4)
Till:
sTid1 = datStartTid
sTid2 = FormatDateTime(DateAdd("n", 59, datStartTid),4)
Och det verkar funka...
Tack @nders :e