Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com calendario


ANDRE_GUSTAVO

Pergunta

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

a pagina é essa http://www.visteondfs.com/agenda.asp

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&amp;CurMonth=<%= left(curmonth,3)%>&amp;CurYear=<%= curyear%>&amp;Action= Prev" class="style38">Anterior</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
        <span class="style36">
        <%
curmonth=monthname(month(dbcurrentdate))
Response.Write curmonth
curyear=year(dbcurrentdate)
Response.Write " " & curyear %>
        </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="style35">&nbsp;
  <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>&nbsp;</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

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

como fazer para que exiba apenas os registros do mes corrente?

EX.: http://www.abelbeetle.com.br/agendadefestas.php

Desde já agradeço pela ajuda de todos.

valeu!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

bom vamos por partes...

1- você acusa um problema no inicio do tópico e sua duvida no final tem nada a ver...

2- podia ter pego um calendario escrito de forma mais simplificada... você já entendeu como funciona esse código???

a resolução é simples... você faz um select no momento em que ele escreve o dia... procurando por aquela data no banco... se tiver faz link se não só escreve o dia

Link para o comentário
Compartilhar em outros sites

  • 0
bom vamos por partes...

1- você acusa um problema no inicio do tópico e sua duvida no final tem nada a ver...

2- podia ter pego um calendario escrito de forma mais simplificada... você já entendeu como funciona esse código???

a resolução é simples... você faz um select no momento em que ele escreve o dia... procurando por aquela data no banco... se tiver faz link se não só escreve o dia

Fala ai bareta, beleza cara!?!?

Na verdade a são 2 duvidas, a do inicio é uma e no fim é outra.

Pesquisei bastante em busca de um calendario, entrei varios, esse era o que se encaixava melhor com o que estava precisando e estou tentando adapta-lo, quanto ao funcionamento, posso dizer que não entendi muito bem.

Consegui fazer funcionar, com a ajuda de um amigo.

Porem ainda não consegui fazer com que seja exibido corretamete apenas os registros do mes corrente.

os registros do mes de dezembro esta sendo exibido, corretamente, mas os proximos não

tipo, os eventos de janeiro, esta sendo exibido no calendario do mes de fevereiro.

da uma olhada no que esta acontecendo sera mais facil de entender o que eu disse

http://www.visteondfs.com/agenda.asp?varmes=dezembro

Link para o comentário
Compartilhar em outros sites

  • 0
quanto a eventos de um mes no outro... as datas não tão sendo invertidas.. tipo de 10/01 foi pra 01/10????

veja alguns outros exemplos... vou tentar achar um que eu fiz.. aqui e posto

http://www.aspobjects.com/ASP_Scripts/Calendar/

As data não estao sendo convertidas de 10/01 foi pra 01/10

estou pegando somente o mes para fazer a busca, no db os campos da data estao dividido,

DIAFESTA | MESFESTA | ANO

ex. "Select * From agenda Where MesFesta = '"&varrmes&"' Order By Id_agenda desc"

Link para o comentário
Compartilhar em outros sites

  • 0

Como você está fazendo para descobrir o mes a ser pesquisado? aquilo ali em cima tá uma desorganização só! isso deveria ser bem simples... do tipo:

User seleciona um mes em um form, esse mes é enviado ao asp que compara no bd com os meses cadastrados e imprime em tela o resultado das consultas...

se você fizer por query string fica facílimo dsecobrir uma forma de "linkagem" implantando nos números de seu calendário...

Caso você queira usar a data atual para descobrir tb o mes atual basta:

mesatual = datepart ("m", date)

Como você está usando campos separados no bd não vejo porque está tendo problemas com datas invertidas... não teria o porque disso acontecer... deve ser outro detalhe qualquer!

Link para o comentário
Compartilhar em outros sites

  • 0
Como você está fazendo para descobrir o mes a ser pesquisado? aquilo ali em cima tá uma desorganização só! isso deveria ser bem simples... do tipo:

User seleciona um mes em um form, esse mes é enviado ao asp que compara no bd com os meses cadastrados e imprime em tela o resultado das consultas...

se você fizer por query string fica facílimo dsecobrir uma forma de "linkagem" implantando nos números de seu calendário...

Caso você queira usar a data atual para descobrir tb o mes atual basta:

mesatual = datepart ("m", date)
Como você está usando campos separados no bd não vejo porque está tendo problemas com datas invertidas... não teria o porque disso acontecer... deve ser outro detalhe qualquer!
No menu "agenda" coloquei o link de forma que seja enviado o mes atual para a pagina agenda. essa parte ta funcionando ta sendo envia o mes corrente e exibindo os eventos do mes de dezembro(mes corrente). Porem quando vou para o proximo mes ou mes anterior não da certo. os eventos do mes de janeiro é exibido com o calendario do mes de fevereiro. acesse o link e entendera melhor o que estou dizendo http://www.visteondfs.com/agenda.asp?varmes=dezembro codigo calendario
<%
PagAtual = Request.QueryString("PagAtual") 'pgina atual
res=Request.QueryString("Show")
varrmes= Request.QueryString("varmes")
whichmonth=Request.QueryString("CurMonth")
whichyear=Request.QueryString("CurYear")
whataction=Request.QueryString("Action")



call AbreConexao


conexaodb.CursorLocation = 3
  Set rsGaleria = Server.CreateObject("Adodb.RecordSet")
  
  rsGaleria.Open "Select * From agenda Where MesFesta = '"&varrmes&"'  Order By Id_agenda desc" , conexaodb
.
.
.
.
..
.


Dim nextmonth
Dim acalandardays(42)
Dim dbcurrentdate 
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 = whichdate
 end if
end if

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>
<%
curmonth=monthname(month(dbcurrentdate))
curyear=year(dbcurrentdate)
%>
    <th colspan=7 align="center" valign="middle" bgcolor=#FFCC00><a href="agenda.asp?Show=Yes&amp;CurMonth=<%= left(curmonth,3)%>&amp;CurYear=<%= curyear%>&amp;Action=Prev&amp;varmes=<%=CurMonth%>" class="style38">Anterior</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
        <span class="style36">
        <%
Response.Write curmonth
Response.Write " " & curyear %>
        </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="style35">&nbsp;
  <a href="agenda.asp?Show=Yes&amp;CurMonth=<%=left(curmonth,3)%>&amp;CurYear=<%=curyear%>&amp;Action=Next&amp;varmes=<%=CurMonth%>" 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>&nbsp;</td>"
end if
ctr=2
next
Response.Write "<tr>"
colm=2
next
Response.Write "<br>"
%>

</table>
a parte que verifica o mes para que seja exibido os eventos
PagAtual = Request.QueryString("PagAtual") 'pgina atual
res=Request.QueryString("Show")
varrmes= Request.QueryString("varmes")
whichmonth=Request.QueryString("CurMonth")
whichyear=Request.QueryString("CurYear")
whataction=Request.QueryString("Action")

call AbreConexao

conexaodb.CursorLocation = 3
Set rsGaleria = Server.CreateObject("Adodb.RecordSet")
  
  rsGaleria.Open "Select * From agenda Where MesFesta = '"&varrmes&"'  Order By Id_agenda desc" , conexaodb
nos links "PROXIMo" E "ANTERIOR" estou colocando assim: link proximo
<a href="agenda.asp?Show=Yes&amp;CurMonth=<%=left(curmonth,3)%>&amp;CurYear=<%=curyear%>&amp;Action=Next&amp;varmes=<%=CurMonth%>" class="style38">Próximo</a>
link anterior
a href="agenda.asp?Show=Yes&amp;CurMonth=<%= left(curmonth,3)%>&amp;CurYear=<%= curyear%>&amp;Action=Prev&amp;varmes=<%=CurMonth%>" class="style38">Anterior</a>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...