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
  Em 16/12/2009 at 21:25, 'xanburzum' disse:

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
  Em 21/12/2009 at 18:32, 'xanburzum' disse:

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
  Em 21/12/2009 at 19:20, 'xanburzum' disse:

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
  Em 21/12/2009 at 19:58, 'xanburzum' disse:

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.