webForumDet fria alternativet

Kalender, oväntade Next

ASP

6 svar · 273 visningar · startad av CatZ

Medlem sedan jan. 20022 440 inlägg
Frågan#1

Skulle någon kunna hjälpa mig att felsöka koden, jag har snurrat in mig på ett spår och kommer inte väck.

For iRaderLoop = 1 to iRader
 response.write "<tr class=td2>"
 For iKolumnerLoop = 1 to iKolumner
  If aKalenderDagar((iRaderLoop - 1) * 7 + iKolumnerLoop) > 0 Then
   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%"">"
   Response.Write "<tr><td align=right>"
   If Not rs.EOF Then
    If rs("KalDd") = aKalenderDagar((iRader - 1) * 7 + iKolumnerLoop) Then
     Response.Write "<a href=kalender.asp?dag="
& iDag & "&manad=" & iManad & "&ar=" & iAr & ">" & aKalenderDagar((iRaderLoop - 1) * 7 + iKolumnerLoop) & "</a>"
     rs.MoveNext
     Response.Write "</td></tr>"
    Else
     Response.Write aKalenderDagar((iRaderLoop - 1) * 7 + iKolumnerLoop)
     Response.Write "</td></tr>"
    End If
   Response.Write "</table>"
   Response.Write "</td>"
  Else
Response.Write "<td class=td1></td>"
end If
Next
Response.Write "</tr>"
Next
Medlem sedan juni 200032 967 inlägg
#2

Visa felmeddelande och kodrad som felmeddelandet pekar på.

Medlem sedan apr. 20021 203 inlägg
#3

Jag vet inte om jag verkligen har hittat felet men iaf gett dig en intenderad kod. ;)

For iRaderLoop = 1 to iRader
	response.write "<tr class=td2>"
	For iKolumnerLoop = 1 to iKolumner
  		If aKalenderDagar((iRaderLoop - 1) * 7 + iKolumnerLoop) > 0 Then
   			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%"">"
   			Response.Write "<tr><td align=right>"
		
   		If Not rs.EOF Then
    			If rs("KalDd") = aKalenderDagar((iRader - 1) * 7 + iKolumnerLoop) Then
     				Response.Write "<a href=kalender.asp?dag="& iDag & "&manad=" & iManad & "&ar=" & iAr & ">" & aKalenderDagar((iRaderLoop - 1) * 7 + iKolumnerLoop) & "</a>"
		
     		rs.MoveNext
     		Response.Write "</td></tr>"
    		Else
     		Response.Write aKalenderDagar((iRaderLoop - 1) * 7 + iKolumnerLoop)
     		Response.Write "</td></tr>"
    		End If
	Response.Write "</table>"
   	Response.Write "</td>"
 	Else ' <-- Vad hänger den ihop med?
	Response.Write "<td class=td1></td>"
	end If ' <-- Och den?
	Next
Response.Write "</tr>"
Next

:)

Medlem sedan jan. 20022 440 inlägg
#4

Tack trexter, jag hade tänkt fel, nästa gång ska jag försöka med att skriva om allt för han och inte ändra lite här och lite där :P

Du hjälpte mig att komma på bättre tankar iaf ;)

Medlem sedan jan. 20022 440 inlägg
#5

Hmm nu är jag lite ute och cyklar igen, men jag vill göra ungefär såhär:

For Each rs("KalDd") = aKalenderDagar((iRader - 1) * 7 + iKolumnerLoop)
 Response.Write "<a href=kalender_stor.asp?id=" & iId & ">" & iTitel & "</a><br>"
next

Och får upp detta meddelandet:
Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0410)
Ogiltig kontrollvariabel för 'for'-loop
/TMP5rc0f1r68b.asp, line 89, column 21
For Each rs("KalDd") = aKalenderDagar((iRader - 1) * 7 + iKolumnerLoop)

Jag fattade lixom att man inte kan göra så, men går det på något sätt ?

Medlem sedan apr. 20021 203 inlägg
#6

Hmm.. bygg upp en For Each så här:

For each x in "ett objekt"
' saker o ting händer
Next

Till exempel:

<%
For Each i in myarray
Rem Placera koden som ska loopas här!
Next
%>

Så tror iaf jag att man måste göra...

:)

Medlem sedan jan. 20022 440 inlägg
#7

Ok nu går det Inte längre :x Jag har följande kod:

		Dim iDag, iManad, iAr, iTitel, iId
			If Not rs.EOF Then
				iDag = rs("KalDd")
				iManad = rs("KalMm")
				iAr = rs("KalYy")
				iTitel = rs("KalTitel")
				iId = rs("KaID")
				arrLank = Array("<a href=kalender_stor.asp?id=" & iId & ">" & iTitel & "</a>")
				
			End If
			
		Dim iAntalBokningar, iTotalt
			iAntalBokningar = 0
			
		Dim iRaderLoop, iKolumnerLoop
			For iRaderLoop = 1 to iRader
				response.write "<tr class=td2>"
					For iKolumnerLoop = 1 to iKolumner
  						If aKalenderDagar((iRaderLoop - 1) * 7 + iKolumnerLoop) > 0 Then
   							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%"">"
   							Response.Write "<tr><td align=right>"			
    						Response.Write aKalenderDagar((iRaderLoop - 1) * 7 + iKolumnerLoop)
    						Response.Write "</td></tr>"
							response.write "<tr><td valign=top align=left>"
   						[b]		If Not rs.Eof Then
									if iDag = aKalenderDagar((iRader - 1) * 7 + iKolumnerLoop) Then
										For i = 0 to UBound(arrDag)
											Response.Write arrLank(i) & "<br>"
										Next
										iAntalBokningar = iAntalBokningar +1
									End If
								End If
[/b]							Response.Write "</td></tr>"
							Response.Write "</table>"
   							Response.Write "</td>"
						Else
							Response.Write "<td class=td1>&nbsp;</td>"
						end If
					Next
				Response.Write "</tr>"
			Next

Ok jag vet den är lång men det är väl egentligen bara den FETA delen som krånglar, jag får ut samma sak flera gånger, och de hamnar då fan inte där datumet ska vara... hjälp?

ps. Det är en kalenderaplikation

271 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)