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

Registros Repetidos


Tite

Pergunta

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:

agenda2tk5.jpg

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:

<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 por Tite
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
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) = "&nbsp;"
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) = "&nbsp;" '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.

Link para o comentário
Compartilhar em outros sites

  • 0
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) = "&nbsp;"
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) = "&nbsp;" '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&ecirc;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&oacute;ximo m&ecirc;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&uacute;blico</b></font>"
                else
                response.write "<font color=#0099ff><b>TIPO: N&atilde;o P&uacute;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.

Link para o comentário
Compartilhar em outros sites

  • 0

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&ecirc;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&oacute;ximo m&ecirc;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&uacute;blico</b></font>"
                else
                response.write "<font color=#0099ff><b>TIPO: N&atilde;o P&uacute;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

Link para o comentário
Compartilhar em outros sites

  • 0
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&ecirc;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&oacute;ximo m&ecirc;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&uacute;blico</b></font>"
                else
                response.write "<font color=#0099ff><b>TIPO: N&atilde;o P&uacute;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 por Tite
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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...