Ir para conteúdo

POWERED BY:

Arquivado

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

l_nando

[Resolvido] Consultar campo data e hora em tabela access

Recommended Posts

Pessoal, boa tarde.

 

Estou tentando fazer uma consulta entra datas em uma tabela access cujo campo e o da data e hora ou data completa, mas eu gostaria de consultar somente a data deste campo e não está dando certo.

 

Obs.: Não está dando erro, me aparece uma mensagem configurada por mim que quando a data não for encontrada.

 

Como fasso para pegar somente a data deste campo.

 

Segue o cód.:

 

Function FormataData1(HORAENTRMM)
  If HORAENTRMM <> "" Then
    FormataData1 = Right("0" & DatePart("d", HORAENTRMM),2) & "/" & Right("0" & DatePart("m", HORAENTRMM),2) & "/" & DatePart("yyyy", HORAENTRMM)
  End If
End Function

Function FormataData2(HORASAIMM)
  If HORASAIMM <> "" Then
    FormataData2 = Right("0" & DatePart("d", HORASAIMM),2) & "/" & Right("0" & DatePart("m", HORASAIMM),2) & "/" & DatePart("yyyy", HORASAIMM)
  End If
End Function

txtdata1 = Day(Request.Form("txtdata1")) & "/" &  Month(Request.Form("txtdata1")) & "/" &  Year(Request.Form("txtdata1"))
txtdata2 = Day(Request.Form("txtdata2")) & "/" &  Month(Request.Form("txtdata2")) & "/" &  Year(Request.Form("txtdata2"))


sq = "select * from MOVIMENTO where HORAENTRMM between " & "#" & txtdata1 & "#" & " and " & "#" & txtdata2 & "#"

'response.Write(sq)
'response.End()

AbreConn

set rs = bco.execute(sq)

if rs.eof then

%>
<!-- <script>
alert("NENHUM MOVIMENTO PARA ESTA DATA!!!")
window.close()
</script> -->
<%

else

%>
<br>
<table width="50%" border="0">
  <tr>
    <th width="43%" class="pretomedio" scope="col">PERÍODO SOLICITADO </th>
    <th width="10%" align="right" class="pretopequeno" scope="col">DE:</th>
    <th width="17%" align="left" class="LARANJA" scope="col"><%=txtdata1%></th>
    <th width="12%" align="right" class="pretopequeno" scope="col">ATÉ:</th>
    <th width="18%" align="left" class="LARANJA" scope="col"><%=txtdata2%></th>
  </tr>
</table>
<br>
<br>
<table width="100%" border="1" cellspacing="0">
  <tr>
    <th width="7%" align="left" bgcolor="#CCCCCC" class="pretopequeno" scope="col">PLACA</th>
    <th width="8%" align="left" bgcolor="#CCCCCC" class="pretopequeno" scope="col">MARCA</th>
    <th width="7%" align="left" bgcolor="#CCCCCC" class="pretopequeno" scope="col">CARRO</th>
    <th width="8%" align="left" bgcolor="#CCCCCC" class="pretopequeno" scope="col">COR</th>
    <th width="8%" align="left" bgcolor="#CCCCCC" class="pretopequeno" scope="col">LAVAGEM</th>
    <th width="11%" align="left" bgcolor="#CCCCCC" class="pretopequeno" scope="col">VALOR LEVAGEM </th>
    <th width="7%" align="left" bgcolor="#CCCCCC" class="pretopequeno" scope="col">DESCONTO</th>
    <th width="14%" align="left" bgcolor="#CCCCCC" class="pretopequeno" scope="col">DATA/HORA ENTRADA </th>
    <th width="14%" align="left" bgcolor="#CCCCCC" class="pretopequeno" scope="col">DATA/HORA SAÍDA </th>
    <th width="8%" align="left" bgcolor="#CCCCCC" class="pretopequeno" scope="col">PERÍODO</th>
    <th width="8%" align="left" bgcolor="#CCCCCC" class="pretopequeno" scope="col">VALOR</th>
  </tr>
    <%if not rs.eof then
	rs.MoveFirst : do while not rs.eof%>
  <tr>
    <td align="left" class="pretopequeno"><%=rs("PLACAMM")%></td>
    <td align="left" class="pretopequeno"><%=rs("MARCAMM")%></td>
    <td align="left" class="pretopequeno"><%=rs("CARROMM")%></td>
    <td align="left" class="pretopequeno"><%=rs("CORMM")%></td>
    <td align="left" class="pretopequeno"><%=rs("LAVTIPOMM")%></td>
    <td align="left" class="pretopequeno"><%=formatcurrency(rs("LAVVALORMM"))%></td>
    <td align="left" class="pretopequeno"><%=formatcurrency(rs("DESCMM"))%></td>
    <td align="left" class="pretopequeno"><%=rs("HORAENTRMM")%></td>
    <td align="left" class="pretopequeno"><%=rs("HORASAIMM")%></td>
    <td align="left" class="pretopequeno"><%=rs("PERIODOMM")%></td>
    <td align="left" class="pretopequeno"><%=formatcurrency(rs("VALORMM"))%></td>
  </tr>
  <% rs.MoveNext : Loop %>
</table>
    <%
	
end if
end if

	FechaConn
	
	Dim  sq1, rs1

sq1 = "select sum(VALORMM)as soma from MOVIMENTO where HORAENTRMM between " & "#" & txtdata1 & "#" & " and " & "#" & txtdata2 & "#"

AbreConn

Set rs1 = bco.execute(sq1)

Desde já agradeço a ajuda!

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim

 

sq = "SELECT * FROM MOVIMENTO WHERE (HORAENTRMM BETWEEN #"& txtdata1 &"# AND #"& txtdata2 &"#)"

 

Se não der certo verifique por response.write se os valores no txtdata1 e txtdata2 estão com a montagem de datas corretas.

 

Se mesmo assim não der certo substitua o AND no select por OR

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim

 

sq = "SELECT * FROM MOVIMENTO WHERE (HORAENTRMM BETWEEN #"& txtdata1 &"# AND #"& txtdata2 &"#)"

 

Se não der certo verifique por response.write se os valores no txtdata1 e txtdata2 estão com a montagem de datas corretas.

 

Se mesmo assim não der certo substitua o AND no select por OR

 

Então, do jeito que eu estava fazendo e deste jeito que você passou estão passando corretamente as datas no response.write.

O problema é que o campo que estou fazendo a consulta no bd é de data/hora (17/7/2009 18:06:25), acho que é por este motivo que não está dando certo.Pois preciso fazer a consulta somente pela data, independentemente da hora.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

no laboratorio de script, existe uma funcaun k você pode pegar apenas a hora e fazer sua consulta na string SQL, dá uma pesquisada lá...

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa... desculpa, estava pensando na hora...

mas a funcaun pega a data e retorna limpa para você, da certo para o k você precisa, esta no lab. de script, pode pegar lá...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize a função DATE "abraçando" o seu campo de data/hora e poste se conseguiu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tb pode usar aki

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, boa noite.

 

Resolvi mudar o campo desta tabela de data/hora para somente data, onde a consulta é somente pela data mesmo.

 

Mas vou fazer uns testes por aqui com a tab. antiga e qualquer novidade ou dúvida posto novamente.

 

Acho que provavelmente irei precisar mais para frente.

 

Muito grato.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara depois estive pensando aqui e acho que tu poderia ter tentado assim

 

txtdata1 = Day(Request.Form("txtdata1")) & "/" &  Month(Request.Form("txtdata1")) & "/" &  Year(Request.Form("txtdata1")) & " 23:59:59"
txtdata2 = Day(Request.Form("txtdata2")) & "/" &  Month(Request.Form("txtdata2")) & "/" &  Year(Request.Form("txtdata2")) & " 23:59:59"

acho eu que dessa forma talvez funfe, se for necessário realmente utilizar o time faça o teste e veja se assim não funfa.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu aí Patrique, mas não funfou.

 

Pelo que eu entendi, no form eu tenho dois campos de data para busca, mas no bd estão cadastrados a data e a hora, quando mando ele buscar ele me retorna somente os registros onde contém somente a data e os que contém data/hora ele não retorna.

 

Será que tem algum jeito?

 

[]'s.

Compartilhar este post


Link para o post
Compartilhar em outros sites

adiciona a hora na sua data apenas

 

na inicial 00:00 e na final 23:59 assim resolve seus problemas

Compartilhar este post


Link para o post
Compartilhar em outros sites

que bom que resolveu

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

ótimas k resolveu, mas naun eskça senpre de consultar nosso lab. de scripts , existem ótimas funçoes...

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.