Ir para conteúdo

POWERED BY:

Arquivado

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

Marco Aurelio de Souza

[Resolvido] Problemas com a busca por data

Recommended Posts

Bem gente,

 

meu problema é o seguinte, tenho um sistema que precisa listar dados de clientes cadastrados de uma certa data até outra !! ex.: 12/8/2008 à 15/8/2008 ...

Os dados são enviados através de um form simples com um javascript calendario que me retorna a data no formato dd/mm/aaaa ...

 

Segue o codigo SQL

 

select * from cad_clientes where dat_cad_cliente between #"& request("data01") & "# AND #"& request("data01") &"#"

na hora de imprimir o código eu coloquei um

 

<% if rs.recordcount = 0 then %>
Sem dados
<%else%>

Lista os dados aqui

<%end if%>

o problema é que ele sempre retorna "Sem dados"

 

Estou no aguarado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o tipo de dados do campo dat_cad_cliente?

 

Dê um Response.Write na SQL antes de executar e poste o resultado. Ex.

Response.Write sql

Response.End

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então amigo, dat_cad_cliente é do tipo data !!!!

 

banco de dados é o access, quando você cadastra, no access, em valor padrão, ja esta pra date(), então ele pega a data do sistema e coloca...

 

 

ja fiz isso !! ele retorna certinho os dados !!!

 

o que você me sugere ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o hargon disse qual o resultado q retornou da SQL ??, só lembrando q os dados devem estar no mesmo formato ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT * FROM cad_cliente where dat_cad_cliente between #01/8/2008# AND #01/8/2008#

Isso é o que ele retorna!

 

 

A pagina é essa!

 

if request("data01") <> "" and request("data02") <> "" then
		meuWhere = "where dat_cad_cliente between #"& request("data01") & "# AND #"& request("data01") &"#"
		'response.Write(meuWhere)
		'response.End()
		else
			meuWhere = "where"
	end if
	if request("origem") <> "selecione" then
		if meuWhere = "where" then
			meuWhere =  meuWhere &" origem like '"&request("origem")& "'"
			else
				meuWhere = meuWhere & " and origem like '"&request("origem")& "'"
		end if
	end if
	if request("corretor") <> "selecione" then
		if meuWhere = "where" then
			meuWhere =  meuWhere &" corretor like '"&request("corretor")& "'"
			else
				meuWhere = meuWhere & " and corretor like '"&request("corretor")& "'"
		end if
	end if
	if request("tipo_cliente") <> "selecione" then
		if meuWhere = "where" then
			meuWhere =  meuWhere &" tipo_cliente like '"&request("tipo_cliente")& "'"
			else
				meuWhere = meuWhere & " and tipo_cliente like '"&request("tipo_cliente")& "'"
		end if
	end if
		if meuWhere = "where" then
		meuWhere = ""
		end if
		sql1 = "SELECT * FROM cad_cliente "& meuWhere 
		response.Write(sql1)
		response.End()
		set rs_cliente = server.CreateObject("ADODB.Recordset")
		rs_cliente.open sql1, banco, 1, 3

É isso ai!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem uma data assim gravada no banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara! as datas estão sendo puxadas autamaticamente pela date() = Dafault Value .. no Access ... Ja tentei de tudo cara desde ontem e nada!!!!

 

a data grava esta 12/8/2008

e a busca está exatamente 12/8/2008

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, o problema não esta no formato das datas, pq ja dei um response.write nas datas e são exatamente a mesma coisa que meu javascript mostra!!

 

Em um ato desesperado ja joguei pra inteiro, ja joguei pra string, tirei espaços vazios, ja fiz a contagem dos caracteres pra ver se estão iguais ... caramba ... e nada!!!!

 

Preciso muito disso, pois esse sistema esta indo pro ar sexta feira ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tendi se os dados estão ok, estão no mesmo formato ... então tente isso ..

 

select * from cad_clientes where dat_cad_cliente between "& request("data01") & " AND "& request("data01") &"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Select esta assim!

SELECT * FROM cad_cliente where dat_cad_cliente between 01/8/2008 AND 01/8/2008
E continua retornando, tabela vazia! ("recordcount = 0")

 

SELECT * FROM cad_cliente where dat_cad_cliente between #01/8/2008# AND #01/8/2008#
Assim tbm! ("recordcount = 0")

Compartilhar este post


Link para o post
Compartilhar em outros sites

A pagina é essa!!!

 

olhem ai!!

 

<!--#include file="config/conexao.asp"-->
<!--#include file="adm_verifica_nivel.asp"-->
<!--#include file="config/configuracoes.asp"-->
<!--#include file="funcoes/biblioteca_principal.asp"-->
<%
	sql = "SELECT * FROM cad_tipo order by tipo asc"
	SET rs_tipo = Server.CreateObject("ADODB.Recordset")
	rs_tipo.open sql, banco, 1, 3
	
	sql1 = "SELECT * FROM cad_usuario where nivel like 'Operador' order by nome"
	SET rs_operador = Server.CreateObject("ADODB.Recordset")
	rs_operador.open sql1, banco, 1, 3

	session("data01") = ""
	session("data02") = ""
if request("repique") = "foi" then
	session("data01") = ""
	session("data02") = ""
	session("data01") = request("data01")
	session("data02") = request("data02")
end if
%>
<h2 align="center">Relatórios</h2>
<center><b> Clientes</b></center>
<%if request("action") = "Solicitar" then

	if request("data01") <> "" and request("data02") <> "" then
		meuWhere = "where dat_cad_cliente between #"& request("data01") & "# AND #"& request("data01") &"#"
		'response.Write(meuWhere)
		'response.End()
		else
			meuWhere = "where"
	end if
	if request("origem") <> "selecione" then
		if meuWhere = "where" then
			meuWhere =  meuWhere &" origem like '"&request("origem")& "'"
			else
				meuWhere = meuWhere & " and origem like '"&request("origem")& "'"
		end if
	end if
	if session("nivel") <> "Operador" then
	if request("corretor") <> "selecione" then
		if meuWhere = "where" then
			meuWhere =  meuWhere &" corretor like '"&request("corretor")& "'"
			else
				meuWhere = meuWhere & " and corretor like '"&request("corretor")& "'"
		end if
	end if
	end if
	if request("tipo_cliente") <> "selecione" then
		if meuWhere = "where" then
			meuWhere =  meuWhere &" tipo_cliente like '"&request("tipo_cliente")& "'"
			else
				meuWhere = meuWhere & " and tipo_cliente like '"&request("tipo_cliente")& "'"
		end if
	end if
	if session("nivel") = "Operador" then
		if meuWhere = "where" then
			meuWhere =  meuWhere &" corretor like '"&session("nome")& "'"
			else
				meuWhere = meuWhere & " and corretor like '"&session("nome")& "'"
		end if
	end if
		if meuWhere = "where" then
		meuWhere = ""
		end if
		sql1 = "SELECT * FROM cad_cliente "& meuWhere 
		response.Write()
		response.End()
		set rs_cliente = server.CreateObject("ADODB.Recordset")
		rs_cliente.open sql1, banco, 1, 3
%>
	<button onclick="java script: window.print()">Imprimir</button>
		<table width="100%" border="1" bordercolor="#000000">
			<tr bgcolor="#CCCCCC">
				<td align="center"><b>Data de cadastro</b></td>
				<td align="center"><b>Nome</b></td>
				<td align="center"><b>Origem</b></td>
				<td align="center"><b>Tipo</b></td>
				<td align="center"><b>Telefone</b></td>
				<td align="center"><b>Corretor</b></td>
			</tr>
			<%if rs_cliente.recordcount = 0 then %>
			<tr>
				<td>Não existem dados</td>
			<tr>
			<%else%>
			<%do while rs_cliente.eof = false %>
			<tr>
				<td align="center"><%=rs_cliente("dat_cad_cliente")%></td>
				<td><%=rs_cliente("nome")%></td>
				<td align="center"><%=rs_cliente("origem")%></td>
				<td align="center"><%=rs_cliente("tipo_cliente")%></td>
				<td align="center"><%=rs_cliente("telefone1")%></td>
				<td><%=rs_cliente("corretor")%></td>
			</tr>
			<%
				rs_cliente.movenext
				loop
			end if
			%>
		</table>
<%else%>
<form id="repique" name="repique" action="adm_cad_imovel.asp" method="post">
<input type="hidden" name="pag" value="relatorios" />
<input type="hidden" name="repique" value="foi" />
<table align="center">
	<tr>
		<td>Data Inicial: </td>
		<td><input type="text" value="<%=session("data01")%>" name="data01" readonly="readonly" class="iptexto" onchange="java script: document.getElementById('repique').submit();"></td>
		<td><img src="image/calendario.gif" border="0" onclick="displayCalendar(document.forms[0].data01,'dd/mm/yyyy',this)" style="cursor:pointer;" width="20px;"/></td>
	</tr>
	<tr>
		<td>Data Final: </td>
		<td><input type="text" value="<%=session("data02")%>" name="data02" readonly="readonly" class="iptexto" onchange="java script: document.getElementById('repique').submit();"></td>
		<td><img src="image/calendario.gif" border="0" onclick="displayCalendar(document.forms[0].data02,'dd/mm/yyyy',this)" style="cursor:pointer;" width="20px;"/></td>
	</tr>
	<tr>
		<td>Origem: </td>
		<td>
			<select name="origem" class="iptexto">
			<option value="selecione">Selecione</option>
			<option value="Recreio">Recreio</option>
			<option value="Taquara">Taquara</option>
		</select>
		</td>
	</tr>
	<%if session("nivel") <> "Operador" then%>
	<tr>
		<td>Corretor: </td>
		<td>
		<select name="corretor" class="iptexto">
			<option value="selecione">Selecione</option>
				<%if rs_operador.recordcount = 0 then%>
				É necessário cadastrar um tipo de imóvel antes
				<%else%>
				<%do while rs_operador.eof = false%>
				<option value="<%=rs_operador("nome")%>"><%=rs_operador("nome")%></option>
				<%
				rs_operador.movenext
				loop
				%>
				<%end if%>
		</select>
		</td>
	</tr>
	<%end if%>
	<tr>
	<td>Tipo de cliente: </td>
	<td>
		<select name="tipo_cliente" class="iptexto">
			<option value="selecione">Selecione</option>
			<option value="Avulso">Avulso</option>
			<option value="Proprietário">Proprietário</option>
		</select>
	</td>
	<tr>
		<td colspan="2" align="right"><input type="submit" name="action" value="Solicitar" /></td>
	</tr>
</table>
</form>
<%end if%>

Testem avontade!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O suário informa as datas ?? então você deveria comparar com os dois campos

 

"select * from cad_clientes where dat_cad_cliente between "& request("data01") & " AND "& request("data02") &" "
... se as datas estiverem no mesmo formato isso tem q funcionar

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara!!!

Eu estava errando uma coisa boba!!!

Mas ngm viu mesmo ^^

 

Deu certo gente !!!

 

Meu erro estava aqui!

f request("data01") <> "" and request("data02") <> "" then
		meuWhere = "where dat_cad_cliente between #"& request([b]"data01"[/b]) & "# AND #"& request([b]"data01"[/b]) &"#"
		'response.Write(meuWhere)
		'response.End()
		else
			meuWhere = "where"
	end if

Como no bando nunca tinha registro pra data 01/08/2008 ele sempre retornava vazio !!!!

 

ngm merece !!!

 

Perdão gente ... Mas obrigado ai pela força!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara!!!

Eu estava errando uma coisa boba!!!

Mas ngm viu mesmo ^^

 

Deu certo gente !!!

 

Meu erro estava aqui!

f request("data01") <> "" and request("data02") <> "" then
		meuWhere = "where dat_cad_cliente between #"& request([b]"data01"[/b]) & "# AND #"& request([b]"data01"[/b]) &"#"
		'response.Write(meuWhere)
		'response.End()
		else
			meuWhere = "where"
	end if

Como no bando nunca tinha registro pra data 01/08/2008 ele sempre retornava vazio !!!!

 

ngm merece !!!

 

Perdão gente ... Mas obrigado ai pela força!!!

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.