ANDRE_GUSTAVO Postado Dezembro 16, 2008 Denunciar Share Postado Dezembro 16, 2008 Pessoal estou tentando adptar um calendario em uma pagina mas estou tendo problemas, por favor me ajudema pagina é essa http://www.visteondfs.com/agenda.asp quando clico no link do proximo mes, funciona belezamas 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" thenwhichdate="01" & "/" & whichmonth & "/" & whichyearif whataction="Next" thendbcurrentdate=dateadd("m",1,cdate(whichdate))elseif whataction="Prev" thendbcurrentdate=dateadd("m",-1,cdate(whichdate))elsedbcurrentdate=dbcurrentdate(whichdate) <<< linha 250end ifend if--------------------------------------------------------------------------------------------------como fazer para que exiba apenas os registros do mes corrente?EX.: http://www.abelbeetle.com.br/agendadefestas.phpDesde já agradeço pela ajuda de todos.valeu! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Dezembro 16, 2008 Denunciar Share Postado Dezembro 16, 2008 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ANDRE_GUSTAVO Postado Dezembro 17, 2008 Autor Denunciar Share Postado Dezembro 17, 2008 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 diaFala 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ãotipo, 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 dissehttp://www.visteondfs.com/agenda.asp?varmes=dezembro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Dezembro 17, 2008 Denunciar Share Postado Dezembro 17, 2008 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/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ANDRE_GUSTAVO Postado Dezembro 17, 2008 Autor Denunciar Share Postado Dezembro 17, 2008 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/10estou 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" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Spilki Postado Dezembro 18, 2008 Denunciar Share Postado Dezembro 18, 2008 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ANDRE_GUSTAVO Postado Dezembro 18, 2008 Autor Denunciar Share Postado Dezembro 18, 2008 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&CurMonth=<%= left(curmonth,3)%>&CurYear=<%= curyear%>&Action=Prev&varmes=<%=CurMonth%>" class="style38">Anterior</a> <span class="style36"> <% Response.Write curmonth Response.Write " " & curyear %> </span> <span class="style35"> <a href="agenda.asp?Show=Yes&CurMonth=<%=left(curmonth,3)%>&CurYear=<%=curyear%>&Action=Next&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> </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&CurMonth=<%=left(curmonth,3)%>&CurYear=<%=curyear%>&Action=Next&varmes=<%=CurMonth%>" class="style38">Próximo</a> link anterior a href="agenda.asp?Show=Yes&CurMonth=<%= left(curmonth,3)%>&CurYear=<%= curyear%>&Action=Prev&varmes=<%=CurMonth%>" class="style38">Anterior</a> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ANDRE_GUSTAVO
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
------------------------------------------------------------------------------------------------
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
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.