Ir para conteúdo

POWERED BY:

Arquivado

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

Web Design Valdeci

Problemas ao receber data da busca

Recommended Posts

Boa Tarde Pessoal,

 

Fiz um sisteminha q busca os dados no banco, ele funfa direitin... so que na hora que acrescentei data.... nao funfou mais... Vou colocar o código pra vcs verem....

 

 

Este primeiro faz a busca no banco dos dados para enviar a outra pagina via form e exibir os dados.

 

Relatorio.asp

 

<form id="iMasters" name="iMasters" method="post" action="relatorios_pedidos_exibir.asp?opc=busca">
			<table width="90%" border="0" align="center" cellpadding="0" cellspacing="5">
			  <tr>
				<td width="28%" class="txt_cinza_11">Empresa:</td>
				<td colspan="2"><select name="empresa" class="txt" id="empresa">
				  <option value="">Selecione </option>
				  <%			
			cont = 0
			
			While (Not cs_listar.EOF)
			var_id = cs_listar.Fields.Item("id").Value			
			var_empresa = cs_listar.Fields.Item("empresa").Value
			if var_empresa <> "" then
			if cont mod 2 = 0 then
			cor_fundo = "#F2F2F2"
			else
			cor_fundo = "#FFFFFF"
			end if
%>
				  <option value="<%=var_id%>"><%=var_empresa%></option>
				  <%end if%><%
			cont = cont + 1
			cs_listar.MoveNext()
			Wend
%>
				</select></td>
			  </tr>
			  <tr>
				<td class="txt_cinza_11">Produto:</td>
				<td colspan="2"><label>
				  <select name="produto" class="txt" id="produto">
					<option value="">Selecione </option>
					<%			
			cont = 0
			While (Not cs_produto.EOF)
			var_id = cs_produto.Fields.Item("id").Value			
			var_produto = cs_produto.Fields.Item("n_produto").Value
			if cont mod 2 = 0 then
			cor_fundo = "#F2F2F2"
			else
			cor_fundo = "#FFFFFF"
			end if
%>
					<option value="<%=var_id%>"><%=var_produto%></option>
					<%
			cont = cont + 1
			cs_produto.MoveNext()
			Wend
%>
				  </select>
				</label></td>
			  </tr>
			  <tr>
				<td class="txt_cinza_11">Data:</td>
				<td width="28%"><label>
				<span class="txt_cinza_11">De:</span> 
				<input name="de" type="text" class="txt" id="de" size="15">
				</label></td>
				<td width="44%" class="txt_cinza_11">Até: 
				  <input name="ate" type="text" class="txt" id="ate" size="15"></td>
			  </tr>
			  <tr>
				<td class="txt_cinza_11">Mês:</td>
				<td colspan="2"><select name="mes" class="txt" id="mes">
				  <option>Selecione o mês</option>
				  <option value="janeiro">Janeiro</option>
				  <option value="fevereiro">Fevereiro</option>
				  <option value="março">Março</option>
				  <option value="abril">Abril</option>
				  <option value="maio">Maio</option>
				  <option value="junho">Junho</option>
				  <option value="julho">Julho</option>
				  <option value="agosto">Agosto</option>
				  <option value="setembro">Setembro</option>
				  <option value="outubro">Outubro</option>
				  <option value="novembro">Novembro</option>
				  <option value="dezembro">Dezembro</option>
								</select></td>
			  </tr>
			  <tr>
				<td class="txt_cinza_11">Ano:</td>
				<td colspan="2"><select name="ano" class="txt" id="ano">
				  <option>Selecione o Ano</option>
				  <option value="2008">2008</option>
				  <option value="2009">2009</option>
								</select></td>
			  </tr>
			  <tr>
				<td> </td>
				<td colspan="2"><label>
				  <input name="Submit" type="submit" class="botao" value="Pesquisar!" />
				  <input name="Submit2" type="reset" class="botao" value="Limpar!" />
				</label></td>
			  </tr>
			  <tr>
				<td> </td>
				<td colspan="2"> </td>
			  </tr>
			</table>
		  </form>

 

Aqui é a pagina q recebe os dados.... se for zero ele nao relaciona e so relaciona os dados que foram selecionados via combo:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="assets/conexao/conexao.asp" -->

<%

 Function FormataData(Data)
   If Data <> "" Then FormataData = Right("0" & DatePart("d", Data),2) & "/" & Right("0" & DatePart("m", Data),2) & "/" & DatePart("yyyy", Data)
End Function
session.lcid=1046
opc = request.querystring("opc")
IF opc = "busca" THEN
if request.form("empresa") <> "" then
sql_empresa = I + "(empresa = '"&request.form("empresa")&"')"
I = " AND "
end if
if request.form("produto") <> "" then
sql_produto = I + "(produto = '"&request.form("produto")&"')"
I = " AND "
end if
if request.form("mes") <> "" then
sql_mes = I + "(mes = '"&request.form("mes")&"')"
I = " AND "
end if
if request.form("ano") <> "" then
sql_ano = I + "(ano = '"&request.form("ano")&"')"
I = " AND "
end if
if request.form("de") <> "" then
sql_de = I + "(de = '"&request.form("de")&"')"
I = ""
end if
if request.form("ate") <> "" then
sql_ate = I + "(ate = '"&request.form("ate")&"')"
I = ""
end if
If sql_empresa = "" and sql_produto = "" and sql_mes = "" and sql_ano = ""and sql_de = "" and sql_ate = ""then
var0 = ""
Else
var0 = " WHERE "
End if

Set cs_listar = Server.CreateObject("ADODB.Recordset")
cs_listar.ActiveConnection = strcon
cs_listar.Source = "SELECT * FROM PEDIDOS "&var0&sql_empresa&sql_produto&sql_mes&sql_ano&" AND data_add BETWEEN #"&sql_de&"# AND #"&sql_ate&"# ORDER BY id desc "
cs_listar.CursorType = 0
cs_listar.CursorLocation = 3
cs_listar.LockType = 1
cs_listar.Open()
END IF 
%>

A mensagem q aparece é esta: ele recebe os dados certinho so nao ta funfando.

 

Microsoft JET Database Engine error '80040e07'

 

Syntax error in date in query expression '(empresa = '326') AND (produto = '7') AND (mes = 'janeiro') AND (ano = '2008') AND data_add BETWEEN # AND (de = '01/02/2008')# AND #(ate = '15/02/2008')#'.

 

/clientes/relatorios_pedidos_exibir.asp, line 48

 

Alguem pode me ajudar.. obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde está o comando WHERE nesta linha ??

 

cs_listar.Source = "SELECT * FROM PEDIDOS "&var0&sql_empresa&sql_produto&sql_mes&sql_ano&" AND data_add BETWEEN #"&sql_de&"# AND #"&sql_ate&"# ORDER BY id desc "

Abraços ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde está o comando WHERE nesta linha ??

 

cs_listar.Source = "SELECT * FROM PEDIDOS "&var0&sql_empresa&sql_produto&sql_mes&sql_ano&" AND data_add BETWEEN #"&sql_de&"# AND #"&sql_ate&"# ORDER BY id desc "

Abraços ...

 

vou tentar aqui.... valeu se der certo posto denovo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde está o comando WHERE nesta linha ??

 

cs_listar.Source = "SELECT * FROM PEDIDOS "&var0&sql_empresa&sql_produto&sql_mes&sql_ano&" AND data_add BETWEEN #"&sql_de&"# AND #"&sql_ate&"# ORDER BY id desc "

Abraços ...

 

vou tentar aqui.... valeu se der certo posto denovo

 

 

Cara... o where esta no código: var0 = " WHERE " vou posta novamente:

 

Function FormataData(Data)
   If Data <> "" Then FormataData = Right("0" & DatePart("d", Data),2) & "/" & Right("0" & DatePart("m", Data),2) & "/" & DatePart("yyyy", Data)
End Function
session.lcid=1046
opc = request.querystring("opc")
IF opc = "busca" THEN
if request.form("empresa") <> "" then
sql_empresa = I + "(empresa = '"&request.form("empresa")&"')"
I = " AND "
end if
if request.form("produto") <> "" then
sql_produto = I + "(produto = '"&request.form("produto")&"')"
I = " AND "
end if
if request.form("mes") <> "" then
sql_mes = I + "(mes = '"&request.form("mes")&"')"
I = " AND "
end if
if request.form("ano") <> "" then
sql_ano = I + "(ano = '"&request.form("ano")&"')"
I = " AND "
end if
if request.form("de") <> "" then
sql_de = I + "(de = '"&request.form("de")&"')"
I = ""
end if
if request.form("ate") <> "" then
sql_ate = I + "(ate = '"&request.form("ate")&"')"
I = ""
end if
If sql_empresa = "" and sql_produto = "" and sql_mes = "" and sql_ano = ""and sql_de = "" and sql_ate = ""then
var0 = ""
Else
var0 = " WHERE "
End if

Set cs_listar = Server.CreateObject("ADODB.Recordset")
cs_listar.ActiveConnection = strcon
cs_listar.Source = "SELECT * FROM PEDIDOS "&var0&sql_empresa&sql_produto&sql_mes&sql_ano&" data_add BETWEEN #"&sql_de&"# AND #"&sql_ate&"# ORDER BY id desc "
cs_listar.CursorType = 0
cs_listar.CursorLocation = 3
cs_listar.LockType = 1
cs_listar.Open()
END IF

Compartilhar este post


Link para o post
Compartilhar em outros sites

Remova os parenteses das variaveis e coloque um espaço entre o nome da tabela, o WHERE e os nomes dos campos...

 

Abraços...

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.