Tite Postado Maio 15, 2007 Denunciar Share Postado Maio 15, 2007 (editado) Pessoal como não consegui resolver meu problema com o scriptde agenda.. (tópico anterior), resolvi adaptar um script de calendáriojá pronto.. mas só está faltando uma coisa pra concluir, notem naimagem abaixo que os dias estão imprimindo registros iguais:Para cada dia existe um compromisso diferente, compromisso esteque é buscado no banco de dados ACCESS.. mas não sei porqueestá pegando registros iguais... o While - wend, está dentro do For - next..será que é por causa disso? como fazer?veja o codigo simplificado:<table width="100%" border=1 cellspacing = 0> <tr> <td bgcolor="#4DA8E1"><a href= "index_ger2.asp?dt=<%=ma%>"> <img src="../imagens/jpg/rev.jpg" alt="Mês anterior" width="32" height="32" border="0"></a></td> <td colspan = 4 align = center bgcolor="#4DA8E1"><font face = "verdana" size = 3><b> <%=Ucase(MonthName(month(dt),true))%>/<%=year(dt)%> </b></font></td> <td align="right" bgcolor="#4DA8E1"><a href = "index_ger2.asp?dt=<%=mp%>"><img src="../imagens/jpg/fw.jpg" alt="Próximo mês" width="32" height="32" border="0"></a></td> </tr> </table> <table width="100%" border=1 cellspacing = 0> <%for li = 1 to 9% <tr> <%for co = 1 to 4%> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <th width="100%" bgcolor="#CCCCCC" scope="row"><div align="left" class="style29"> <% diasemanahoje = nomesemana(WeekDay(ct)) response.write diasemanahoje %> </div></th> </tr> <tr> <th scope="row"><div align="left" class="style31"><%=gr(ct)%></div></th> </tr> <tr> <th scope="row"><div align="left"><span class="style13 style21"> <% strdata=formatData(FormatDateTime(dt,2)) data = "SELECT * FROM 4AGENDA WHERE cod_politico="& session("cod_user") &" AND dtcompromisso='"& strdata &"'" Set RS_data = Server.CreateObject("ADODB.Recordset") SET RS_data = Conexao.Execute(data) If RS_data.EOF = true then response.write "Nenhum compromisso" end if %> <% while Not RS_data.EOF %> </span> <table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#CCCCCC"> <tr style="cursor:default" onMouseOver="java script:this.style.backgroundColor='#00b3fe'" onMouseOut="java script:this.style.backgroundColor=''"> <th width="16%" scope="row"><div align="left" class="style27"><%= RS_data("horario") %></div></th> <td width="84%"><div align="left" class="style26"><a class='tooltip' href='#'><%= Left(RS_data("chamada"),21) %>...<span> <% response.write "<font size=3><b>"& Ucase(RS_data("chamada")) & "</b></font><br><br>" response.write RS_data("descricao") & "<br><br>" if RS_data("publico")="s" then response.write "<font color=#0099ff><b>TIPO: Público</b></font>" else response.write "<font color=#0099ff><b>TIPO: Não Público</b></font>" end if %> </span></a></div></td> </tr> </table> <% RS_data.MoveNext wend RS_data.Close Set RS_data = Nothing %></div></th> </tr> </table></td> <%ct = ct + 1%> <%next%> </tr> <%next%> </table>Assim que consegui concluir (se conseguir), posto o código pra vocês..Abraços. Editado Maio 15, 2007 por Tite Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Maio 15, 2007 Denunciar Share Postado Maio 15, 2007 porque basicamente ele faz o select com a mesma data para todos os quadros...na variavel da data mude a data conforme ele imprime na tela... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tite Postado Maio 15, 2007 Autor Denunciar Share Postado Maio 15, 2007 porque basicamente ele faz o select com a mesma data para todos os quadros...na variavel da data mude a data conforme ele imprime na tela...Falou grego pra mim cara... como que vou fazer isso na variavel da data?este é o restante do código:<% dim dt 'Variável que controla a Data if request("dt") = empty then dt = date() 'Traz data else dt = request("dt") end if dim pd 'Variável do primeiro dia dim ud 'Variável do último dia pd = DateSerial(year(dt),month(dt),1) ud = DateSerial(year(dt),month(dt)+1,1)-1 dim ma 'Mês anterior ao atual dim mp 'Mês posterior ao atual ma = DateSerial(year(dt),month(dt)-1,1) 'Para voltar 1 mês mp = DateSerial(year(dt),month(dt)+1,1) 'Para andar 1 mês '------------------------- 'Montagem da Grade de Dias '------------------------- dim gr(36) 'Matriz dim li 'Linhas da Grade dim co 'Colunas da Grade dim ct 'Contador da Grade ct = 1 dim lp 'Suporte aos Loops '------------------------- 'Montagem dos Quadros Brancos '------------------------- for lp = 1 to weekday(pd)- 1 gr(ct) = " " ct = ct + 1 next '------------------------- 'Lendo o Mês Atual '------------------------- for lp = pd to ud if lp = date then gr(ct) = "<font color = red>" & day(lp) & "</font>" else gr(ct) = day(lp) end if ct = ct + 1 next '----------------------------- 'Montagem do Resto dos Quadros '----------------------------- for lp = ct to 36 gr(lp) = " " 'Coloquei LP dentro do GR porque ele já 'tem o valor de CT (que é a posição 'do último dia + 1) next ct = 1 %>Brigadão por enquanto ai bareta... Se você puder mudar no próprio código vou ficar muito agradecido.Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Maio 15, 2007 Denunciar Share Postado Maio 15, 2007 poe o codigo completo da parte que escreve na tela o calendario...porque aqui me perdi no tanto de ct,lp,et.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tite Postado Maio 15, 2007 Autor Denunciar Share Postado Maio 15, 2007 poe o codigo completo da parte que escreve na tela o calendario...porque aqui me perdi no tanto de ct,lp,et....Este é o codigo completao:FUNÇOES:<% function formatData(data) dim dia, mês, ano, b1, b2, hora, espaco formatData = "" if not isdate(data) then exit function b1 = instr(1,data,"/") b2 = instr(b1+2,data,"/") espaco = instr(1,data," ") dia = left(data,b1-1) if len(dia)<>2 then dia = "0" & dia mês = mid(data,b1+1,2) if not isnumeric(mês) then mês = "0" & left(mês,1) if espaco>0 then ano = mid(data,b2+1,espaco-(b2+1)) else ano = mid(data,b2+1) end if if len(data)>10 then hora = formatdatetime(data,3) formatData = trim(dia & "/" & mês & "/" & ano & " " & hora) end function %> <% Public Function nomesemana(nome) Select Case nome Case 1 nomesemana = "DOMINGO" Case 2 nomesemana = "SEGUNDA" Case 3 nomesemana = "TERÇA" Case 4 nomesemana = "QUARTA" Case 5 nomesemana = "QUINTA" Case 6 nomesemana = "SEXTA" Case 7 nomesemana = "SÁBADO" End Select End Function %> VARIÁVEIS DO CALENDÁRIO: <% dim dt 'Variável que controla a Data if request("dt") = empty then dt = date() 'Traz data else dt = request("dt") end if dim pd 'Variável do primeiro dia dim ud 'Variável do último dia pd = DateSerial(year(dt),month(dt),1) ud = DateSerial(year(dt),month(dt)+1,1)-1 dim ma 'Mês anterior ao atual dim mp 'Mês posterior ao atual ma = DateSerial(year(dt),month(dt)-1,1) 'Para voltar 1 mês mp = DateSerial(year(dt),month(dt)+1,1) 'Para andar 1 mês '------------------------- 'Montagem da Grade de Dias '------------------------- dim gr(36) 'Matriz dim li 'Linhas da Grade dim co 'Colunas da Grade dim ct 'Contador da Grade ct = 1 dim lp 'Suporte aos Loops '------------------------- 'Montagem dos Quadros Brancos '------------------------- for lp = 1 to weekday(pd)- 1 gr(ct) = " " ct = ct + 1 next '------------------------- 'Lendo o Mês Atual '------------------------- for lp = pd to ud if lp = date then gr(ct) = "<font color = red>" & day(lp) & "</font>" else gr(ct) = day(lp) end if ct = ct + 1 next '----------------------------- 'Montagem do Resto dos Quadros '----------------------------- for lp = ct to 36 gr(lp) = " " 'Coloquei LP dentro do GR porque ele já 'tem o valor de CT (que é a posição 'do último dia + 1) next ct = 1 %> ESCREVENDO O CALENDÁRIO NA TELA: <table width="100%" border=1 cellspacing = 0> <tr> <td bgcolor="#4DA8E1"><a href= "index_ger2.asp?dt=<%=ma%>"> <img src="../imagens/jpg/rev.jpg" alt="Mês anterior" width="32" height="32" border="0"></a></td> <td colspan = 4 align = center bgcolor="#4DA8E1"><font face = "verdana" size = 3><b> <%=Ucase(MonthName(month(dt),true))%>/<%=year(dt)%> </b></font></td> <td align="right" bgcolor="#4DA8E1"><a href = "index_ger2.asp?dt=<%=mp%>"><img src="../imagens/jpg/fw.jpg" alt="Próximo mês" width="32" height="32" border="0"></a></td> </tr> </table> <table width="100%" border=1 cellspacing = 0> <%for li = 1 to 9%> <tr> <%for co = 1 to 4%> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <th width="100%" bgcolor="#CCCCCC" scope="row"><div align="left" class="style29"> <% diasemanahoje = nomesemana(WeekDay(ct)) response.write diasemanahoje %> </div></th> </tr> <tr> <th scope="row"><div align="left" class="style31"><%=gr(ct)%></div></th> </tr> <tr> <th scope="row"><div align="left"><span class="style13 style21"> <% strdata=formatData(FormatDateTime(dt,2)) data = "SELECT * FROM 4AGENDA WHERE cod_politico="& session("cod_user") &" AND dtcompromisso='"& strdata &"'" Set RS_data = Server.CreateObject("ADODB.Recordset") SET RS_data = Conexao.Execute(data) If RS_data.EOF = true then response.write "Nenhum compromisso" end if %> <% while Not RS_data.EOF %> </span> <table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#CCCCCC"> <tr style="cursor:default" onMouseOver="java script:this.style.backgroundColor='#00b3fe'" onMouseOut="java script:this.style.backgroundColor=''"> <th width="16%" scope="row"><div align="left" class="style27"><%= RS_data("horario") %></div></th> <td width="84%"><div align="left" class="style26"><a class='tooltip' href='#'><%= Left(RS_data("chamada"),21) %>...<span> <% response.write "<font size=3><b>"& Ucase(RS_data("chamada")) & "</b></font><br><br>" response.write RS_data("descricao") & "<br><br>" if RS_data("publico")="s" then response.write "<font color=#0099ff><b>TIPO: Público</b></font>" else response.write "<font color=#0099ff><b>TIPO: Não Público</b></font>" end if %> </span></a></div></td> </tr> </table> <% RS_data.MoveNext wend RS_data.Close Set RS_data = Nothing %> </div></th> </tr> </table></td> <%ct = ct + 1%> <%next%> </tr> <%next%> </table>Ficou mais claro agora?Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Maio 16, 2007 Denunciar Share Postado Maio 16, 2007 vou tentar aqui...<table width="100%" border=1 cellspacing = 0> <tr> <td bgcolor="#4DA8E1"><a href= "index_ger2.asp?dt=<%=ma%>"> <img src="../imagens/jpg/rev.jpg" alt="Mês anterior" width="32" height="32" border="0"></a></td> <td colspan = 4 align = center bgcolor="#4DA8E1"><font face = "verdana" size = 3><b> <%=Ucase(MonthName(month(dt),true))%>/<%=year(dt)%> </b></font></td> <td align="right" bgcolor="#4DA8E1"><a href = "index_ger2.asp?dt=<%=mp%>"><img src="../imagens/jpg/fw.jpg" alt="Próximo mês" width="32" height="32" border="0"></a></td> </tr> </table> <table width="100%" border=1 cellspacing = 0> <%for li = 1 to 9%> <tr> <%for co = 1 to 4%> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <th width="100%" bgcolor="#CCCCCC" scope="row"><div align="left" class="style29"> <% diasemanahoje = nomesemana(WeekDay(ct)) response.write diasemanahoje %> </div></th> </tr> <tr> <th scope="row"><div align="left" class="style31"><%=gr(ct)%></div></th> </tr> <tr> <th scope="row"><div align="left"><span class="style13 style21"> <% strdata=cdate(diasemanahoje&"/"&(month(dt)&"/"&year(dt) ) data = "SELECT * FROM 4AGENDA WHERE cod_politico="& session("cod_user") &" AND dtcompromisso='#"& strdata &"#'" Set RS_data = Server.CreateObject("ADODB.Recordset") SET RS_data = Conexao.Execute(data) If RS_data.EOF = true then response.write "Nenhum compromisso" end if %> <% while Not RS_data.EOF %> </span> <table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#CCCCCC"> <tr style="cursor:default" onMouseOver="java script:this.style.backgroundColor='#00b3fe'" onMouseOut="java script:this.style.backgroundColor=''"> <th width="16%" scope="row"><div align="left" class="style27"><%= RS_data("horario") %></div></th> <td width="84%"><div align="left" class="style26"><a class='tooltip' href='#'><%= Left(RS_data("chamada"),21) %>...<span> <% response.write "<font size=3><b>"& Ucase(RS_data("chamada")) & "</b></font><br><br>" response.write RS_data("descricao") & "<br><br>" if RS_data("publico")="s" then response.write "<font color=#0099ff><b>TIPO: Público</b></font>" else response.write "<font color=#0099ff><b>TIPO: Não Público</b></font>" end if %> </span></a></div></td> </tr> </table> <% RS_data.MoveNext wend RS_data.Close Set RS_data = Nothing %> </div></th> </tr> </table></td> <%ct = ct + 1%> <%next%> </tr> <%next%> </table>teste ai Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tite Postado Maio 16, 2007 Autor Denunciar Share Postado Maio 16, 2007 (editado) vou tentar aqui...<table width="100%" border=1 cellspacing = 0> <tr> <td bgcolor="#4DA8E1"><a href= "index_ger2.asp?dt=<%=ma%>"> <img src="../imagens/jpg/rev.jpg" alt="Mês anterior" width="32" height="32" border="0"></a></td> <td colspan = 4 align = center bgcolor="#4DA8E1"><font face = "verdana" size = 3><b> <%=Ucase(MonthName(month(dt),true))%>/<%=year(dt)%> </b></font></td> <td align="right" bgcolor="#4DA8E1"><a href = "index_ger2.asp?dt=<%=mp%>"><img src="../imagens/jpg/fw.jpg" alt="Próximo mês" width="32" height="32" border="0"></a></td> </tr> </table> <table width="100%" border=1 cellspacing = 0> <%for li = 1 to 9%> <tr> <%for co = 1 to 4%> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <th width="100%" bgcolor="#CCCCCC" scope="row"><div align="left" class="style29"> <% diasemanahoje = nomesemana(WeekDay(ct)) response.write diasemanahoje %> </div></th> </tr> <tr> <th scope="row"><div align="left" class="style31"><%=gr(ct)%></div></th> </tr> <tr> <th scope="row"><div align="left"><span class="style13 style21"> <% strdata=cdate(diasemanahoje&"/"&(month(dt)&"/"&year(dt) ) data = "SELECT * FROM 4AGENDA WHERE cod_politico="& session("cod_user") &" AND dtcompromisso='#"& strdata &"#'" Set RS_data = Server.CreateObject("ADODB.Recordset") SET RS_data = Conexao.Execute(data) If RS_data.EOF = true then response.write "Nenhum compromisso" end if %> <% while Not RS_data.EOF %> </span> <table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#CCCCCC"> <tr style="cursor:default" onMouseOver="java script:this.style.backgroundColor='#00b3fe'" onMouseOut="java script:this.style.backgroundColor=''"> <th width="16%" scope="row"><div align="left" class="style27"><%= RS_data("horario") %></div></th> <td width="84%"><div align="left" class="style26"><a class='tooltip' href='#'><%= Left(RS_data("chamada"),21) %>...<span> <% response.write "<font size=3><b>"& Ucase(RS_data("chamada")) & "</b></font><br><br>" response.write RS_data("descricao") & "<br><br>" if RS_data("publico")="s" then response.write "<font color=#0099ff><b>TIPO: Público</b></font>" else response.write "<font color=#0099ff><b>TIPO: Não Público</b></font>" end if %> </span></a></div></td> </tr> </table> <% RS_data.MoveNext wend RS_data.Close Set RS_data = Nothing %> </div></th> </tr> </table></td> <%ct = ct + 1%> <%next%> </tr> <%next%> </table> teste ai Bareta deu o seguinte ERRO: Tipos incompatíveis: "CDate" Valeu pela intenção... Ufaaa pessoal... até que enfim descobri o problema. o segredo está na variavel da data como o companheiro bareta falou... então o código esta ai completo, somente troque isso: strdata=formatData(FormatDateTime(dt,2)) Por isso: strdata=gr(ct)Ai é só fazer um Admin pra inserir eventos e pronto.Abraços. Editado Maio 16, 2007 por Tite Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Maio 16, 2007 Denunciar Share Postado Maio 16, 2007 o cdate deu erro por causo de em parenteses.;..(é o que pareçe)erradostrdata=cdate(diasemanahoje&"/"&(month(dt)&"/"&year(dt) ) correto strdata=cdate(diasemanahoje&"/"&month(dt)&"/"&year(dt) ) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Tite
Pessoal como não consegui resolver meu problema com o script
de agenda.. (tópico anterior), resolvi adaptar um script de calendário
já pronto.. mas só está faltando uma coisa pra concluir, notem na
imagem abaixo que os dias estão imprimindo registros iguais:
Para cada dia existe um compromisso diferente, compromisso este
que é buscado no banco de dados ACCESS.. mas não sei porque
está pegando registros iguais... o While - wend, está dentro do For - next..
será que é por causa disso? como fazer?
veja o codigo simplificado:
Assim que consegui concluir (se conseguir), posto o código pra vocês..
Abraços.
Editado por TiteLink para o comentário
Compartilhar em outros sites
7 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.