Jag pysslar med kalender-projektet i ovan nämda bok mitt problem är den sista kalender där man skall loopa en slinga för att få med flera händelser på samma dag funkar inte. Det finns säkert någon som har löst problemet. Som jag ser det så använder du ingen .EOF vilket kan medföra att du får problem i loopenKalendern i "Lär dig active server pages 3.0 på tre vec
Min slinga vill bara stanna vid sista objRS vad gör jag för fel??
Detta är en del av koden:
<code>
'Stega nu igenom 1 till och med iRader 1 til och med iKolumner
Dim iRaderLoop, iKolumnerLoop
For iRaderLoop = 1 To iRader
'skapa ny rad
Response.Write"<TR>"
For iKolumnerLoop = 1 To iKolumner
'Skapa ny kolumn
'Om dagen finns, visa den. Fyll cellen med svart
If aKalenderDagar((iRaderLoop-1)*7 + iKolumnerLoop)> 0 Then
'Visa datum och kontrollera om det finns en händelse
Response.Write"<TD Valign=Top Align=Right Width=""14%"" Height="&FormatPercent(1/iRader,0)&">"
Response.Write"<Table Cellspacing=0 Cellpadding=0 Border=0"&"Width=""100%"">"
'Skriva datum i övre högra hörnet
Response.Write"<TR><TD Align=Right><B>"
Response.Write aKalenderDagar((iRaderLoop-1)*7+iKolumnerLoop)
Response.Write"</B><TD></TR>"
' ---------HÄR BLIR DET FEL !!!!!! ---------------------------
' DETTA styr visningen av bokningar
'Om det finns en inbokning denna dag så skriver vi ut den.
'Kontrollera först att objRS inte nått slutet, EOF
If Not objRS.EOF Then
'Kontrollera nu om aktuella post innehåller dagens datum i kolumnen Dag
If objRS("Dag") = aKalenderDagar((iRaderLoop-1)*7 + iKolumnerLoop)Then
Response.Write"<TR><TD Valign=Top Align=Left>"
Response.Write"<Font size=2>"
Do While objRS("Dag")= aKalenderDagar((iRaderLoop-1)*7 + iKolumnerLoop)
Response.Write objRS("Handelsebeskrivning")
objRS.MoveNext
Response.Write"<BR>"
'Öka antalet inbokningar
iAntalbokningar = iAntalbokningar + 1
Loop
End If
End If
Response.Write"</FONT>"
Response.Write"</TD><TR>"
' SLUT på visningen av bokningar
Response.Write"</TABLE>"
Response.Write"</TD>"
Else
'Fyll datumrutan med svart
Response.Write"<TD BGCOLOR=BLACK> </TD>"
End If
Next
'Stäng raden
Response.Write"</TR>"
Next
'Vi kan stänga och frigöra minne för objekten Recordset och Connection
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
</code>
Hoppas på hjälp!!Sv: Kalendern i "Lär dig active server pages 3.0 på tre vec
<%
Do While not objRs.EOF
objRS("Dag")= aKalenderDagar((iRaderLoop-1)*7 + iKolumnerLoop)
Response.Write objRS("Handelsebeskrivning")
objRS.MoveNext
Response.Write"<BR>"
'Öka antalet inbokningar
iAntalbokningar = iAntalbokningar + 1
Loop
%>
Men som du antyder här - om du inte har 7 kolumner i ditt recordset så kommer inte allt skrivas ut. I så fall får du vända på allting:
<%
for a = 1 to 7
' -- loopa recordsetet och kolla att det inte är eof
' -- är allting ok så skriv de rader som finns, lämna
' -- resterande blanka <td></td> så det blir 7 kolumner i alla fall
next
%>
/Pelle