04. november 2004 - 09:34Der er
1 kommentar og 1 løsning
Kalender script viser dato 2 gange!
Hej!
Jeg har et kalender script som virker rigtig godt! Jeg har dog ændret det således at man kan få vist flere events på samme dato via en MoveNext.
Der sker dog det at hvis der er en event i dag og én i morgen, bliver den i dag vist korrekt, men dagen efter bliver der vist både den fra i dag og den rigtige. jeg fatter det simpelthen ikke??
koden er her forneden, håber der er nogen der kan se logikken!!
<%
Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open MM_website_STRING
For iWeek = 1 To iRows Response.Write "<TR VALIGN=TOP>" For iDay = 1 To iColumns ' Checks to see if there is a day this month on the date being written If aCalendarDays((iWeek-1)*7 + iDay) > 0 then dtOnDay = DateSerial(Year(dtCurrentDate), Month(dtCurrentDate), aCalendarDays((iWeek-1)*7 + iDay))
' Checks to see if the day being printed is today If dtOnDay = dtToday Then Response.Write "<TD HEIGHT=55 CLASS='calCurrentDay'>" Else Response.Write "<TD HEIGHT=55 CLASS='calOtherDay'>" End If
' Checks to see the type of calendar (editable or non-editable) If (bolEditable) then strPage = "kalender/currentdate.asp?Tdato=" & dtOnDay Else strPage = "kalender/currentdate.asp?Tdato=" & dtOnDay End If
' Checks for a message on the day being written strSQL = "SELECT * FROM tourplan WHERE Tdato = #" & dtOnDay & "#" Set objRS = objConn.Execute(strSQL) If NOT objRS.EOF Then While objRS.EOF = False dailyMsg = dailyMsg & objRS("Tband") & " (" & objRS("Tsted") & ")<br>" objRS.MoveNext Wend Else dailyMsg = "" End If Set objRS = Nothing
' Checks to see if the message is too long to be displayed in the mini date box If (Trim(dailyMsg) = Trim(Left(dailyMsg, intCharToShow))) Then Else dailyMsg = dailyMsg End If
ellers bliver den ved med at gemme værdien i næste loop - da du bruger
dailyMsg = dailyMsg & ...
i dit loop! så den ser sådan her ud:
<%
Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open MM_website_STRING
For iWeek = 1 To iRows Response.Write "<TR VALIGN=TOP>" For iDay = 1 To iColumns ' Checks to see if there is a day this month on the date being written If aCalendarDays((iWeek-1)*7 + iDay) > 0 then
' Checks to see if the day being printed is today If dtOnDay = dtToday Then Response.Write "<TD HEIGHT=55 CLASS='calCurrentDay'>" Else Response.Write "<TD HEIGHT=55 CLASS='calOtherDay'>" End If
' Checks to see the type of calendar (editable or non-editable) If (bolEditable) then strPage = "kalender/currentdate.asp?Tdato=" & dtOnDay Else strPage = "kalender/currentdate.asp?Tdato=" & dtOnDay End If
' Checks for a message on the day being written strSQL = "SELECT * FROM tourplan WHERE Tdato = #" & dtOnDay & "#" Set objRS = objConn.Execute(strSQL)
If NOT objRS.EOF Then While objRS.EOF = False dailyMsg = dailyMsg & objRS("Tband") & " (" & objRS("Tsted") & ")<br>" objRS.MoveNext Wend
Else dailyMsg = "" End If
Set objRS = Nothing
' Checks to see if the message is too long to be displayed in the mini date box If (Trim(dailyMsg) = Trim(Left(dailyMsg, intCharToShow))) Then
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.