Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Andre Gustavo

Problemas com Calendario

Recommended Posts

Pessoal estou tentando adptar um calendario em uma pagina mas estou tendo problemas, por favor me ajudem

a pagina é essa

quando clico no link do proximo mes, funciona beleza

mas quando clico no link do mes anterior não funciona.

da o seguinte erro:

 

Erro de tempo de execução do Microsoft VBScript erro '800a000d'

Tipos incompatíveis

/agenda.asp, line 250

 

calendario

<%
res=Request.QueryString("Show")
whichmonth=Request.QueryString("CurMonth")
whichyear=Request.QueryString("CurYear")
whataction=Request.QueryString("Action")
%>
  <% 

dim nextmonth
dim acalandardays(42)
nextmonth = 0

dbcurrentdate = date()

if res="Yes" then
	whichdate="01" & "/" & whichmonth & "/" & whichyear
	if whataction="Next" then
		dbcurrentdate=dateadd("m",1,cdate(whichdate))
	elseif whataction="Prev" then
		dbcurrentdate=dateadd("m",-1,cdate(whichdate))
	else
		dbcurrentdate=dbcurrentdate(whichdate)
	end if
end if

Dim dbcurrentdate 

dim ifirstweekday
ifirstweekday = datepart("W",dateserial(year(dbcurrentdate),month(dbcurrentdate),1))
dim idaysinmonth 
idaysinmonth = datepart("d",dateserial(year(dbcurrentdate),month(dbcurrentdate)+1,1-1))
dim iloop
for iloop = 1 to idaysinmonth
	acalandardays(iloop+ifirstweekday-1)=iloop
next

dim icolumns,irows
icolumns = 7 
irows = 6-int((42-(ifirstweekday+idaysinmonth))/7)
%>

<table width=45% height=45% border=1 align =center cellpadding="0" cellspacing = "0" bordercolor="#FFCC00" bgcolor="#FFFF99">
<tr></tr>
	<th colspan=7 align="center" valign="middle" bgcolor=#FFCC00><a href="agenda.asp?Show=Yes&CurMonth=<%= left(curmonth,3)%>&CurYear=<%= curyear%>&Action= Prev" class="style38">Anterior</a>       
		<span class="style36">
		<%
curmonth=monthname(month(dbcurrentdate))
Response.Write curmonth
curyear=year(dbcurrentdate)
Response.Write " " & curyear %>
		</span>      <span class="style35"> 
  <a href="agenda.asp?Show=Yes&CurMonth=<%=left(curmonth,3)%>&CurYear=<%=curyear%>&Action=Next" class="style38">Próximo</a>

  <%
Response.Write	"<tr>"
Response.Write "<td align=center>"
Response.Write "<font color=#cc0000 >"
Response.Write "Domingo"
Response.Write "</font>"
Response.Write "</td>"
Response.Write "<td color=#FFAF1C align=center>"
Response.Write "Segunda"
Response.Write "</td>"
Response.Write "<td color=#FFAF1C align=center>"
Response.Write "Terça"
Response.Write "</td>"
Response.Write "<td color=#FFAF1C align=center>"
Response.Write "Quarta"
Response.Write "</td>"
Response.Write "<td color=#FFAF1C align=center>"
Response.Write "Quinta"
Response.Write "</td>"
Response.Write "<td color=#FFAF1C align=center>"
Response.Write "Sexta"
Response.Write "</td>"
Response.Write "<td color=#FFAF1C align=center>"
Response.Write "Sábado"
Response.Write "</td>"

Response.Write	"</tr>"
%>

</font>

<% 
dim irowsloop ,icolumnsloop
startday=weekday("01" & "/" & monthname(month(dbcurrentdate)) & "/" & year(dbcurrentdate))
ctr=1

for irowsloop = 1 to irows
Response.Write "<tr>"
if ctr=1 then
colm = startday
else
colm=1
end if
if startday>1 then
diff=colm - 1
end if
		
for icolumnsloop=colm to icolumns
if acalandardays((irowsloop-1)*7 +icolumnsloop) >= 0 then
if diff>0 then
for p=1 to diff
Response.Write "<td valign= top align=right width=""14%"">"
Response.Write "</td>"	
next
diff=0
end if
Response.Write "<td valign= top align=right width=""14%"">"
if icolumnsloop=1 then
Response.Write "<font color=#cc0000>"
end if
if month(dbcurrentdate)<month(Date()) then
if acalandardays((irowsloop-1)*7 + icolumnsloop)=day(Date()) and month(dbcurrentdate)=month(Date()) and year(dbcurrentdate)=year(Date()) then
Response.Write "<font>"
end if
Response.Write acalandardays((irowsloop-1)*7 + icolumnsloop) 			
elseif month(dbcurrentdate)=month(Date()) and acalandardays((irowsloop-1)*7 + icolumnsloop) < day(Date()) then
Response.Write acalandardays((irowsloop-1)*7 + icolumnsloop) 			
elseif month(dbcurrentdate)=month(Date()) and acalandardays((irowsloop-1)*7 + icolumnsloop) >= day(Date())then
Response.Write acalandardays((irowsloop-1)*7 + icolumnsloop)  
elseif month(dbcurrentdate)>month(Date()) then
Response.Write  acalandardays((irowsloop-1)*7 + icolumnsloop) 
end if
Response.Write "</td>"
else
Response.Write "<td> </td>"
end if
ctr=2
next
Response.Write "<tr>"
colm=2
next
Response.Write "<br>"
%>

------------------------------------------------------------------------------------------------

if res="Yes" then

whichdate="01" & "/" & whichmonth & "/" & whichyear

if whataction="Next" then

dbcurrentdate=dateadd("m",1,cdate(whichdate))

elseif whataction="Prev" then

dbcurrentdate=dateadd("m",-1,cdate(whichdate))

else

dbcurrentdate=dbcurrentdate(whichdate) <<< linha 250

end if

end if

--------------------------------------------------------------------------------------------------

 

 

 

Desde já agradeço pela ajuda de todos.

valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma olhada nesta função que uso para visualizar o mês, se quiser, me envia um email, que dou um reply com essa minha aplicção que uso como agenda em uma empresa cliente.

ub DrawMonthView

  '------- Setup some information about the month -----------------
  ThisMonthsFirstDay = Year(WorkingDate) & "-" & Month(WorkingDate) & "-1"
  NextMonthsFirstDay = dateAdd("m",1,ThisMonthsFirstDay)
  ThisMonthsLastDay = dateadd("d",-1,NextMonthsFirstDay)
  LastMonthsLastDay = dateadd("d",-1,ThisMonthsFirstDay)
  StartDate = dateadd("d",1-weekday(ThisMonthsFirstDay),ThisMonthsFirstDay)
  '-------  Traçar o início do calendário  ----------------------
  response.write "<TABLE WIDTH='100%' CLASS='TableMonthHeader' CELLPADDING=1 CELLSPACING=0>"
  response.write "<TR>"
  response.write "<TD CLASS='MonthHeadings'>" & MonthSundayName & "</TD>"
  response.write "<TD CLASS='MonthHeadings'>" & MonthMondayName & "</TD>"
  response.write "<TD CLASS='MonthHeadings'>" & MonthTuesdayName & "</TD>"
  response.write "<TD CLASS='MonthHeadings'>" & MonthWednesdayName & "</TD>"
  response.write "<TD CLASS='MonthHeadings'>" & MonthThursdayName & "</TD>"
  response.write "<TD CLASS='MonthHeadings'>" & MonthFridayName & "</TD>"
  response.write "<TD CLASS='MonthHeadings'>" & MonthSaturdayName & "</TD>"
  response.write "</TR>"
  response.write "</TABLE>"
  '-------- Calendário Principal Tabela -------------------------------------
  response.write "<TABLE WIDTH='100%' CLASS='TableMonthCalendar' CELLPADDING=1 CELLSPACING=0>"
  response.write "<TR>"
  '-------- If the first day is not sunday --------------------------
  If weekday(ThisMonthsFirstDay) > 1 then
	For Counter = day(StartDate) to day(LastMonthsLastDay)
	  Call DrawOtherMonthDay(Counter)
	Next
  End If
  '-------- Desenha dias normal após a sábado, iniciar uma nova linha --------
  For Counter = 1 to day(ThisMonthsLastDay)
	DateToUse = Year(WorkingDate) & "-" & Month(WorkingDate) & "-" & Counter
	Call DrawMonthNormalDay(Counter)
	If weekday(DateToUse) = 7 then
	  response.write "</TR>"
	  If Counter <> day(ThisMonthsLastDay) then
	   response.write "<TR>"
	  End If
	End if
  Next
  '-------- If último dia não é sabado -----------------------------
  If weekday(ThisMonthsLastDay) < 7 then
	 For Counter = 1 to 7 - weekday(ThisMonthsLastDay)
	   Call DrawOtherMonthDay(Counter)
	 Next
  End If
  '-------- Traçar a última linha da agenda -----------------------
  response.write "</TR>"
  response.write "</TABLE>"
  
End Sub

Sub DrawMonthNormalDay(DayNumber) 
  DateToUse = Year(WorkingDate) & "-" & Month(WorkingDate) & "-" & DayNumber
  If Date() = cDate(DateToUse) then
	MonthCalDayClass = "TableMonthDayCellToday"
  Else
	MonthCalDayClass = "TableMonthDayCell"
  End If
  response.write "<TD CLASS='" & MonthCalDayClass & "' WIDTH='14%' HEIGHT='" & MonthBlockHeight & "'>"
  response.write "<TABLE WIDTH='100%' CELLPADDING=0 CELLSPACING=0 BORDER=0 STYLE='border:1px solid white'>"
  response.write "<TR>"
  response.write "<TD CLASS='MonthSubHeadings'>"
  response.write "<A HREF='calendar.asp?action=day&date=" & DateToUse & "'>"
  response.write DayNumber
  response.write "</A>  "
  response.write "</TD>"
  response.write "</TR>"
  response.write "</TABLE>"
  'response.write "<DIV CLASS='MonthDayDiv'>"
  Call WriteEvent(DateToUse, "MONTH")
  'response.write "</DIV>"
  response.write "</FONT></TD>"
End Sub

Sub DrawOtherMonthDay(DayNumber)

  response.write "<TD CLASS='TableMonthOtherDayCell' WIDTH='14%'>"
  response.write "</TD>"

End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

No laboratório de scripts tem uma classe de calendário postada por mim. Dê uma olhada, provavelmente vai lhe atender.

 

Se quiser apenas corrigir seu problema, para que serve a linha com erro?

dbcurrentdate=dbcurrentdate(whichdate)

 

Você não pode acessar a variável dessa forma. Ou é um array ou é uma variável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.