Ir para conteúdo

POWERED BY:

Arquivado

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

Vinícius Siller

Datas em Calendário

Recommended Posts

Novamente com problemas em datas no Access.

Tenho esse script(abaixo), e o campo no banco de dados estava do tipo texto, porem precisei mudar para data/hora, pois precisarei dar Order By.

 

Esse calendário funciona como a maioria, ele cria um link relativo a data do evento armazenado no banco de dados.

Acontece que quando eu mudei o tipo de dados de texto para data/hora, esse link parou de ser criado, exibe apenas o calendário com os dias, porém sem o link no dia. Consegui ser claro?

 

Alguém poderia diagnosticar o problema, ou me indicar algum material para estudo?

Conto com a colaboração da comunidade que sempre me ajuda.

 

Aí vai o script:

<%

	Response.AddHeader "cache-control", "private"
	Response.AddHeader "pragma", "no-cache"
	Response.ExpiresAbsolute = #September 27, 1983 23:09:09#
	Response.Expires=Now()-1000000
	Response.AddHeader "Cache-Control", "must-revalidate"
	Response.AddHeader "Cache-Control", "no-cache"
	Response.Buffer = True
	
Response.CharSet = "utf-8"

	Session.LCID = 1046
	
%>
<!--#include file="db.asp"-->
<%

Dim Conexao
Call AbreConexao()


	intID = numerico(Request.QueryString("id"))
	
	intMes = numerico(Request.QueryString("m"))
	intAno = numerico(Request.QueryString("a"))
	
	IF intMes = 0 OR intAno = 0 THEN	
		intMes = Month(Now())
		intAno = Year(Now())	
	END IF
	
	intMes_p = Month(DateAdd("m", -1, "01/" & intMes & "/" & intAno & ""))
	intAno_p = Year(DateAdd("m", -1, "01/" & intMes & "/" & intAno & ""))
	
	intMes_n = Month(DateAdd("m", +1, "01/" & intMes & "/" & intAno & ""))
	intAno_n = Year(DateAdd("m", +1, "01/" & intMes & "/" & intAno & ""))
	
	
%>
    <table align="center" width="250" border="0" cellpadding="2" cellspacing="0">    
		<tr>
          	<td>
<div class="esq calendario_mes"><a href="javascript:;" onclick="javascript:chamarCalendario(<% =intMes_p %>, <% =intAno_p %>);" title="<% =Cap(MonthName(intMes_p, False)) & " " & intAno_p %>">« <% =Cap(MonthName(intMes_p, True)) %></a></div>
     <div class="calendario_nome_mes"><% =Cap(MonthName(intMes, False)) & " / " & intAno %></div>         
<div class="dir calendario_mes"><a href="javascript:;" onclick="javascript:chamarCalendario(<% =intMes_n %>, <% =intAno_n %>);" title="<% =Cap(MonthName(intMes_n, False)) & " " & intAno_n %>"><% =Cap(MonthName(intMes_n, True)) %> »</a></div>
			</td>
		</tr>
	</table>
            
    <table align="center" id="calint" summary="Calendario" width="250" border="0" cellpadding="2" cellspacing="0">
    
            

    
  
    
        <thead>
          <tr>
            <th abbr="Domingo" scope="col" title="Domingo" class="calendario_semana">D</th>
            <th abbr="Segunda" scope="col" title="Segunda" class="calendario_semana">S</th>
            <th abbr="Terça" scope="col" title="Terça" class="calendario_semana">T</th>
            <th abbr="Quarta" scope="col" title="Quarta" class="calendario_semana">Q</th>
            <th abbr="Quinta" scope="col" title="Quinta" class="calendario_semana">Q</th>
            <th abbr="Sexta" scope="col" title="Sexta" class="calendario_semana">S</th>
            <th abbr="Sábado" scope="col" title="Sábado" class="calendario_semana">S</th>
          </tr>
        </thead>
        
        <tbody>
        <%
        
          oDia = DateSerial(intAno,intMes,1)
          oDiaMes = Month(oDia)
          oDiaAno = Year(oDia)
        
            For j=1 to 6
            
                Response.Write "<tr class='calendario_dia'>" & vbCrlf
                
                For i=vbSunday to vbSaturday
                
                    CellStr		=" " 
                    CellColor 	= "#D1EBCD"
                    
                    linhaAtual = ""
                    
                    IF WeekDay(oDia) = i AND Month(oDia) = oDiaMes THEN 
        
                        strSQL = "SELECT * FROM tbl_agenda WHERE data_age = '" & DataBrazil(oDia, "dd/mm/yyyy") & "';"
                        Set Rs = Conexao.Execute(strSQL)
                        
                            linhaAtual = Day(oDia)
							
                            IF Not Rs.BOF AND Not Rs.EOF THEN
							
								DataHoje 	= DataBrazil(Now(), "dd/mm/yyyy") 
								DataAtual	= DataBrazil(oDia, "dd/mm/yyyy")
								
								'IF CDate(DataHoje) > CDate(DataAtual) THEN
								
									'Call ExecuteSQL("UPDATE tbl_agenda SET status_age = 1 WHERE id_age = " & Rs("id_age") & ";")
								
								'ELSE
								
									DataCom = DataBrazil(Day(oDia) & "/" & Month(oDia) & "/" & Year(oDia), "dd de MM de yyyy")
									
									linhaAtual = "<a href='agenda.asp?data_age=" & formataData2("ddmmyyyy",""&oDia&"","/",1046) & "' class='agenda_data_registro' title='" & DataCom & "'>" & Day(oDia) & "</a>"
									
					
									
								'END IF

                            END IF
                            
                        FechaRs(Rs)
                        
                        oDia = DateAdd("d", 1, oDia)
                        
                    END IF

                    Response.Write "<td>"  & linhaAtual & "</td>" & vbCrlf
                
                Next
                
                Response.Write "</tr>" & vbCrlf
            
            Next
        
        %>
        </tbody>
        

        
    </table>


<%
	Call FechaConexao()
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando você recupera ele

intMes = numerico(Request.QueryString("m"))

intAno = numerico(Request.QueryString("a"))

 

converta para tipo date

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando você recupera ele

intMes = numerico(Request.QueryString("m"))

intAno = numerico(Request.QueryString("a"))

 

converta para tipo date

 

Como eu faria isso? Não entendi.

Converter o tipo no banco de dados?

Ou em alguma função no request?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função CDate converte uma data e hora válidas expressão para o tipo Date, e retorna o resultado.

 

Dica: Use a função IsDate para determinar se a data pode ser convertida para uma data ou hora.

 

Nota: A função IsDate usa configuração local para determinar se uma string pode ser convertida para uma data ( "Janeiro" não é um

 

CDate(date)

data Requerida. Qualquer expressão de data válida (como Date () ou Now ())

 

d="April 11, 2009"
If IsDate(d) Then
  document.write(CDate(d))
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum, não consegui rapaz.. não deu jeito mesmo.

O calendário carrega direitinho no mes e no ano atual, mas não exibe a data com link como deveria.

 

Quando eu coloco o campo do tipo texto no banco de dados, o link ativa, qdo coloco em formato data/hora ele não ativa.

Faz um favor de dar uma olhadinha no script que postei la emcima? Pq será não exibe link qdo está em formato data/hora?

 

Dê uma olhadinha ali a partir do

IF Not Rs.BOF AND Not Rs.EOF THEN

Será que tem algo errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta formatar ela antes

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta formatar ela antes

 

 

A data está formatada, acredito que o problema esteja ali no BOF ou EOF.

você poderia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenho um issteminha de calendario, onde você insere eventos,exlui etc

ótimo, sempre disponibilizo pro pessoal, me manda um MP, k para fins didáticos te envio

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenho um issteminha de calendario, onde você insere eventos,exlui etc

ótimo, sempre disponibilizo pro pessoal, me manda um MP, k para fins didáticos te envio

 

 

beleza, já enviei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

te envio amanha cedo, pois ja sai do trampo

Compartilhar este post


Link para o post
Compartilhar em outros sites

te envio amanha cedo, pois ja sai do trampo

 

 

Opa..só queria te lembrar do calendário. se puder me enviar, te agradeço. Abs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja enviei no vinicius.siller@hotmail.com

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.