Ir para conteúdo

POWERED BY:

Arquivado

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

PRWEB

Filtragem

Recommended Posts

Tudo bem galera do forum?

 

Sei que estou postando muitas dúvidas mas sou iniciante em asp e estou com uns problemão, e sei que este forum é copetente para me ajuda.

 

Tenho uma página de filtro com alguns campos e outra página com o contéudo.

 

O meu problema é que quando faço a filtragem ele está pegando tudo, exemplo da página de conteudo:

 

NOME EMPRESA: TESTE

A baixo vem as informações de uma outra tabela.

 

Só que quando filtro um determinado item ele ta pegando tudo.

 

Exemplo: NOME EMPRESA: TESTE

1 10 TESTE

2 20 TESTE2

3 30 TESTE2

4 50 TESTE3

 

Se eu filtro por TESTE2 ele aparece os outros também, TESTE, TESTE3 na tela, sendo que só quero que apareç o TESTE2.

 

Esse é meu código:

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../Connections/oConn.asp" -->
<%
Session.LCID = 1046 'BRASIL

id_cliente = request.QueryString("id_cliente")
no_cob = request.QueryString("no_cob")
no_os = request.QueryString("no_os")
descricao = request.QueryString("descricao")
data_fechado = request.QueryString("data_fechado")
fechado_por = request.QueryString("fechado_por")

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open("DRIVER={Firebird/Interbase(r) driver}; DBNAME=localhost:c:\Inetpub\wwwroot\sistema_interno_hcs_v.1.0\bd\BD_HCS.GDB; UID=SYSDBA;PWD=masterkey")

Dim teste
Dim teste_numRows

Set teste = Server.CreateObject("ADODB.Recordset")
teste.ActiveConnection = MM_oConn_STRING

auxsql = "SELECT distinct id_cliente FROM TB_INFO_PAGTO WHERE "

'STATUS PAGTO
if (Request.QueryString("status_pagto") <> "") then
 auxsql = auxsql & "status_pagto = '" & Request.QueryString("status_pagto") & "' AND "
end if

'FORMA PAGTO
if (Request.QueryString("forma_pagto") <> "") then
 auxsql = auxsql & "forma_pagto = '" & Request.QueryString("forma_pagto") & "' AND "
end if

'NOME EMPRESA
if (Request.QueryString("nome_empresa") <> "") then
 Set cadastro = Server.CreateObject("ADODB.Recordset")
 cadastro.ActiveConnection = oConn

 cadastro.source = "SELECT id_cliente FROM TB_DADOS_CLIENTES WHERE nome_empresa LIKE '" & Request.QueryString("nome_empresa") & "%'"
 cadastro.open()

 if not(cadastro.eof) then
  auxsql = auxsql & "id_cliente = " & cadastro("id_cliente") & " AND "
 end if 

 cadastro.close
end if

'TIPO COBRANÇA
if (Request.QueryString("tipo_cob") <> "") then
 Set itens = Server.CreateObject("ADODB.Recordset")
 itens.ActiveConnection = oConn

 itens.source = "SELECT no_cob FROM TB_GERAR_COB_CAD_ITENS WHERE tipo_cob = '" & Request.QueryString("tipo_cob") & "'"
 itens.open()

 if not(itens.eof) then
  auxsql = auxsql & "no_cob = " & itens("no_cob") & " AND "
 end if 

 itens.close
end if

'Arrumando SELECT
if (right(auxsql,6) = "WHERE ") then
 auxsql = left(auxsql,len(auxsql) - 6) & "ORDER BY id_cliente ASC"
else
 auxsql = left(auxsql,len(auxsql) - 4) & "ORDER BY id_cliente ASC"
end if

'Response.redirect "teste.asp?teste="&auxsql
teste.Open auxsql,oConn,3,3

'Definimos o Numero de Paginas com a propriedade "PageSize" do objeto Recordset
teste.PageSize = 10
TotalRegistros = teste.RecordCount

'Criamos as Validações
if teste.eof then
   'Response.Write ("Nenhum Registro Encontrado!")
   Response.Redirect("filtros_cobranca.asp?msg=Dados não Encontrados na Base de Dados")
   Response.End
 else
  'Definimos em qual pagina o visitante está
if Request.QueryString("pagina")="" then 
   intpagina=1
 else
if Cint(Request.QueryString("pagina"))<1 then
   intpagina=1
 else
if Cint(Request.QueryString("pagina"))>teste.PageCount then 
   intpagina = teste.PageCount
 else
   intpagina = Request.QueryString("pagina")
end if
 end if
end if
 end if
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="32"><div align="center">
      <input name="button2" type="submit" class="campo" id="button2" onclick="javascript:abrir_filtro()" value="FILTRAR COBRANÇAS"/>
    </div></td>
  </tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr> </tr>
</table>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<%
teste.AbsolutePage = intpagina
intrec = 0
While intrec < teste.PageSize and not teste.eof 

set cadastro = oConn.execute("select * from TB_DADOS_CLIENTES where id_cliente = " & teste("id_cliente") & "")
if not(cadastro.EOF) then
 nome_emp = cadastro("nome_empresa")
else
 nome_emp = ""
end if
%>
<tr>
        <td width="1175" colspan="2" valign="top"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#666666">
          <tr>
            <td bgcolor="#000066"><span class="style18"><span class="style11 style14 style20 style66"> EMPRESA:</span></span></td>
            <td colspan="5" bgcolor="#000066"><span class="style18"><span class="style11 style14 style15 style24"><span class="style67"><span class="style68"><%=nome_emp%></span></span></span></span></td>
            <td bgcolor="#000066"> </td>
            <td bgcolor="#000066"> </td>
            <td bgcolor="#000066"> </td>
            <td bgcolor="#000066"><span class="style171">TIPO COBRANÇA:<span class="style172">
 
<%
set cob = oConn.execute("SELECT * FROM TB_GERAR_COB_CAD_ITENS WHERE id_cliente = " & teste("id_cliente") & "")

tipo_cob = cob("tipo_cob")

if tipo_cob = "1" then
   Response.Write ("NORMAL")
else
   if tipo_cob = "2" then
     Response.Write ("MENSAL")
 end if 
end if
%>
            </span></span></td>
          </tr>
          <tr>
            <td width="67" bgcolor="#CCCCCC"><div align="center" class="style10"><strong>N.º OF.</strong></div></td>
            <td width="214" bgcolor="#CCCCCC"><div align="center" class="style10">TIPO PAGAMENTO</div></td>
            <td width="115" bgcolor="#CCCCCC"><div align="center" class="style10">NUMERAÇÃO</div></td>
            <td width="115" bgcolor="#CCCCCC"><div align="center" class="style10">DATA<br />
              VENCIMENTO</div></td>
            <td width="94" bgcolor="#CCCCCC"><div align="center" class="style10">VALOR<br />
              À PAGAR</div></td>
            <td width="9" bgcolor="#CCCCCC"><span class="style18"></span></td>
            <td width="112" bgcolor="#CCCCCC"><div align="center" class="style10">DATA<br />
              PAGAMENTO</div></td>
            <td width="99" bgcolor="#CCCCCC"><div align="center" class="style10">VALOR<br />
              PAGO</div></td>
            <td width="160" bgcolor="#CCCCCC"><div align="center" class="style10">SITUAÇÃO</div></td>
            <td width="190" bgcolor="#CCCCCC"><div align="center" class="style10">ANOTAÇÃO</div></td>
          </tr>
<%
set info = oConn.execute("select * from TB_INFO_PAGTO where id_cliente = "& teste("id_cliente") &" ")

i = 1
while (not info.EOF)
%>
          <tr>
            <td bgcolor="#E2E2E2"><div align="center"><span class="style70 style18 style14"><strong><span class="style15 style70">00<%=info("no_os")%></span></strong></span></div></td>
            <td bgcolor="#E2E2E2"><div align="center" class="style160 style161">
<%
forma_pagto = info("forma_pagto")

if forma_pagto = "0" then
   Response.Write ("A DEFINIR")
else
   if forma_pagto = "1" then
     Response.Write ("BOLETO")
  else
      if forma_pagto = "2" then
        Response.write("CHEQUE")
     else
         if forma_pagto = "3" then
           Response.write("CARTÃO BNDES")
        else
            if forma_pagto = "4" then
              Response.write("DEPÓSITO")
	       else
               if forma_pagto = "5" then
                 Response.write("DINHEIRO")
   	          else
                 if forma_pagto = "6" then
                   Response.write("TRANSFERÊNCIA")
			     else
                   if forma_pagto = "7" then
                     Response.write("OUTROS")
end if 
 end if
  end if
   end if
    end if
	 end if
	  end if 
	   end if
%>
            </div></td>
            <td bgcolor="#E2E2E2"><div align="center" class="style160 style161"><%=info("numeracao")%></div></td>
            <td bgcolor="#E2E2E2"><div align="center" class="style160 style161"><%=info("data_venc_pagto")%></div></td>
            <td bgcolor="#E2E2E2"><div align="center" class="style160 style161"><%=FormatCurrency(info("valor_pagto"),2)%></div></td>
            <td bgcolor="#E2E2E2"><div align="center"><span class="style15"><span class="style14"><span class="style157"><span class="style18"><span class="style161"></span></span></span></span></span></div></td>
            <td bgcolor="#E2E2E2"><div align="center" class="style160 style161"><%=info("data_pago")%></div></td>
            <td bgcolor="#E2E2E2"><div align="center" class="style160 style161"><%=FormatCurrency(info("valor_pago"),2)%></div></td>
            <td bgcolor="#E2E2E2"><div align="center" class="style160 style161">
                <%
status_pagto = info("status_pagto")

if status_pagto = "1" then
   Response.Write ("A VENCER")
else
 if status_pagto = "2" then
     Response.write("PROTESTADO")
  else
   if status_pagto = "3" then
       Response.write("PAGO")
    else
     if status_pagto = "4" then
         Response.write("VENCIDO")
end if
 end if
  end if
   end if
%>
            </div></td>
            <td bgcolor="#E2E2E2"><div align="center" class="style160 style161"><%=info("anotacao1")%></div></td>
          </tr>
<%
info.MoveNext()
i = i + 1
wend

set info = oConn.execute("select * from TB_INFO_PAGTO where id_cliente = "& teste("id_cliente") &" ")
%>          <tr>
            <td bgcolor="#CCCCCC"> </td>
            <td bgcolor="#CCCCCC"> </td>
            <td bgcolor="#CCCCCC"> </td>
            <td bgcolor="#CCCCCC"><div align="right"><span class="style166">SUBTOTAL:</span></div></td>
            <td bgcolor="#CCCCCC"><div align="center"><span class="style168 style14 style70">
<%
set TABELA2 = oConn.execute ("SELECT * FROM TB_INFO_PAGTO WHERE ((status_pagto = '1') or (status_pagto = '2') or (status_pagto = '4')) and (id_cliente =" & info("id_cliente") & ") ")

soma = 0
 while not(TABELA2.eof)
  soma = soma + Cdbl(TABELA2("valor_pagto"))
 TABELA2.MoveNext()
  wend
%>
</span><span class="style175"><%=FormatCurrency(soma,2)%> </span></div></td>
            <td bgcolor="#CCCCCC"> </td>
            <td bgcolor="#CCCCCC"> </td>
            <td bgcolor="#CCCCCC"><div align="center"><span class="style168 style14 style70">
<%
set TABELA2 = oConn.execute ("SELECT * FROM TB_INFO_PAGTO WHERE ((status_pagto = '1') or (status_pagto = '2') or (status_pagto = '4')) and (id_cliente =" & info("id_cliente") & ") ")
soma = 0
 while not(TABELA2.eof)
  soma = soma + Cdbl(TABELA2("valor_pago"))
 TABELA2.MoveNext()
  wend
%>
</span><span class="style175"><%=FormatCurrency(soma,2)%> </span></div></td>
            <td bgcolor="#CCCCCC"> </td>
            <td bgcolor="#CCCCCC"><div align="right"><span class="style166">TOTAL GERAL:   </span> <span class="style168 style14 style70">
              <%
set TABELA2 = oConn.execute ("SELECT * FROM TB_INFO_PAGTO WHERE id_cliente =" & info("id_cliente") & "")

soma = 0
 while not(TABELA2.eof)
  soma = soma + Cdbl(TABELA2("valor_pagto"))
 TABELA2.MoveNext()
  wend
%>
            </span>                            <span class="style174"><%=FormatCurrency(soma,2)%></span> </div></td>
          </tr>
<tr>
  <td height="2" colspan="10"><hr noshade="noshade" /></td>
  </tr>

    </table></td>
      </tr>
<%
teste.MoveNext
 x=x+1
  intrec = intrec + 1
if teste.eof then 
     response.write " " 
 end if  
Wend 
%>     
</table>
<div align="center">
        <table width="45%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><div align="center" class="style55 style53"> <span class="style56 style56 style56"> <span class="style104 style106 style106 style164">
                <% 
  if intpagina > 1 then
%>
            <a href="lista_cob.asp?pagina=<%=intpagina - 1%>&nome_empresa=<%=Request.QueryString("nome_empresa")%>&status_pagto=<%=Request.QueryString("status_pagto")%>"><strong>< Anterior</strong></a>        
                <% 
  end if  
  if StrComp(intpagina,teste.PageCount)<>0 then 
%>
            <a href="lista_cob.asp?pagina=<%=intpagina + 1%>&nome_empresa=<%=Request.QueryString("nome_empresa")%>&status_pagto=<%=Request.QueryString("status_pagto")%>"><strong>Próximo ></strong></a></span></span></div></td>
          </tr>
        </table>
        </div>
</body>
</html>
<%
teste.Close()
Set teste = Nothing
end if
%>

Se alguém puder me ajudar ficarei muito agradecido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não use o LIKE se não quer pegar semelhantes use = mesmo em sua consulta

Compartilhar este post


Link para o post
Compartilhar em outros sites

O meu problema é que quando quero filtrar por um tipo ele não so pega o q quero mais tb tudo.

 

Exemplo na página de filtro eu tenho um combobox chamado status_pagto, ai escolho PAGO ele tem q pegar tudo que é PAGO e mostrar na tela o que tá acontecendo é que ele em vez de so trazer o PAGO ele tb traz tudo.

 

Ver imagem: Imagem Postada

 

Segue a imagem para ver como q fica.

 

Obrigado,

Compartilhar este post


Link para o post
Compartilhar em outros sites

com certeza está selecionando errado

 

como manda as informações necessárias para esta pagina e como está montando a string sql?

Compartilhar este post


Link para o post
Compartilhar em outros sites

coo esta sua string SQL ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

as informações para esta pagina ser gerada vem de onde? um formulario?

 

depois que recupera como está montando a consulta?

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste sua string SQL ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem pessoal?

 

Eu tenho uma página com os campos e outra pagina para visualização das informações.

 

Meu filtro para consulta é assim, este codigo está na pagina de visualização do conteúdo:

 

<%

Session.LCID = 1046 'BRASIL

 

id_cliente = request.QueryString("id_cliente")

no_cob = request.QueryString("no_cob")

no_os = request.QueryString("no_os")

descricao = request.QueryString("descricao")

data_fechado = request.QueryString("data_fechado")

fechado_por = request.QueryString("fechado_por")

 

Set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open("DRIVER={Firebird/Interbase® driver}; DBNAME=localhost:c:\Inetpub\wwwroot\sistema_interno_hcs_v.1.0\bd\BD_HCS.GDB; UID=SYSDBA;PWD=masterkey")

 

Dim teste

Dim teste_numRows

 

Set teste = Server.CreateObject("ADODB.Recordset")

teste.ActiveConnection = MM_oConn_STRING

 

auxsql = "SELECT distinct id_cliente FROM TB_INFO_PAGTO WHERE "

 

'STATUS PAGTO

if (Request.QueryString("status_pagto") <> "") then

auxsql = auxsql & "status_pagto = '" & Request.QueryString("status_pagto") & "' AND "

end if

 

'FORMA PAGTO

if (Request.QueryString("forma_pagto") <> "") then

auxsql = auxsql & "forma_pagto = '" & Request.QueryString("forma_pagto") & "' AND "

end if

 

'NOME EMPRESA

if (Request.QueryString("nome_empresa") <> "") then

Set cadastro = Server.CreateObject("ADODB.Recordset")

cadastro.ActiveConnection = oConn

 

cadastro.source = "SELECT id_cliente FROM TB_DADOS_CLIENTES WHERE nome_empresa LIKE '" & Request.QueryString("nome_empresa") & "%'"

cadastro.open()

 

if not(cadastro.eof) then

auxsql = auxsql & "id_cliente = " & cadastro("id_cliente") & " AND "

end if

 

cadastro.close

end if

 

'TIPO COBRANÇA

if (Request.QueryString("tipo_cob") <> "") then

Set itens = Server.CreateObject("ADODB.Recordset")

itens.ActiveConnection = oConn

 

itens.source = "SELECT no_cob FROM TB_GERAR_COB_CAD_ITENS WHERE tipo_cob = '" & Request.QueryString("tipo_cob") & "'"

itens.open()

 

if not(itens.eof) then

auxsql = auxsql & "no_cob = " & itens("no_cob") & " AND "

end if

 

itens.close

end if

 

'Arrumando SELECT

if (right(auxsql,6) = "WHERE ") then

auxsql = left(auxsql,len(auxsql) - 6) & "ORDER BY id_cliente ASC"

else

auxsql = left(auxsql,len(auxsql) - 4) & "ORDER BY id_cliente ASC"

end if

 

'Response.redirect "teste.asp?teste="&auxsql

teste.Open auxsql,oConn,3,3

 

'Definimos o Numero de Paginas com a propriedade "PageSize" do objeto Recordset

teste.PageSize = 10

TotalRegistros = teste.RecordCount

 

'Criamos as Validações

if teste.eof then

'Response.Write ("Nenhum Registro Encontrado!")

Response.Redirect("filtros_cobranca.asp?msg=Dados não Encontrados na Base de Dados")

Response.End

else

'Definimos em qual pagina o visitante está

if Request.QueryString("pagina")="" then

intpagina=1

else

if Cint(Request.QueryString("pagina"))<1 then

intpagina=1

else

if Cint(Request.QueryString("pagina"))>teste.PageCount then

intpagina = teste.PageCount

else

intpagina = Request.QueryString("pagina")

end if

end if

end if

end if

 

Obrigado

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.