Jump to content
ronaldobgomes

Filtro em dois Campos SQL Delphi

Recommended Posts

Boa tarde galera

Tenho um problema que preciso resolver, seguinte:

tenho um banco de dados e nele contem uma tabela chamada agencia, ela esta funcionando legal mas NÃO consegui montar um filtro legal pra ela,

a tabela é de agencias bancarias,  chama-se Bancoage, os campos de pesquisa são Bancod e Agenum

o editbanco.text busca só  banco , exemplo: '237'.O editagencia.text busca só agencias, exemplo: '0522' e os dois edit teria que pesquisar banco agencia, 

banco - agencia  - 

237         0522

este comando eu quero usar nas pesquisas e também pra verificar se ja existe a agencia cadastrada.

meu filtro só faz em um edit só, me ajudem por favor.

Uso UniSql, delphi 10.3 e que fique claro eu estou desenvolvendo um programa para empresas de cobrancas e esta base alimenta o cadastro de cheques

 

Valew!!!!!

Share this post


Link to post
Share on other sites

Estava em Mysql movi para Delphi , melhor classificado na minha opinião.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Kefatif
      Prezados, bom dia…
       
      Preciso da ajuda dos Srs…
       
      Pois quando filtro por janeiro ao invés de me trazer somente os produtos que venceram em janeiro acaba me trazendo de todos os outros meses incluindo o de janeiro.
       
      Segue o meu código abaixo:
       
      <?php if (isset($_POST['pesquisar'])) { $ano = $_POST["ano"]; $mes = $_POST["mes"]; $unid = $_POST["unid"]; $tipoitem = $_POST["tipoitem"]; $item = $_POST["item"]; if (isset($_POST["ano"]) and empty($_POST["mes"]) and empty($_POST["unid"]) and empty($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$ano."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["ano"]) and isset($_POST["mes"]) and empty($_POST["unid"]) and empty($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$ano."%') AND (A.VALIDADE LIKE '%".$mes."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["ano"]) and isset($_POST["mes"]) and isset($_POST["unid"]) and empty($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$ano."%') AND (A.VALIDADE LIKE '%".$mes."%') AND (A.CNES LIKE '%".$unid."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["ano"]) and isset($_POST["mes"]) and isset($_POST["unid"]) and isset($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$ano."%') AND (A.VALIDADE LIKE '%".$mes."%') AND (A.CNES LIKE '%".$unid."%') AND (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["ano"]) and isset($_POST["mes"]) and isset($_POST["unid"]) and isset($_POST["tipoitem"]) and isset($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$ano."%') AND (A.VALIDADE LIKE '%".$mes."%') AND (A.CNES LIKE '%".$unid."%') AND (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (B.ITEM LIKE '%".$item."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["mes"]) and empty($_POST["ano"]) and empty($_POST["unid"]) and empty($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$mes."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["mes"]) and isset($_POST["unid"]) and empty($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$mes."%') AND (A.CNES LIKE '%".$unid."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["mes"]) and isset($_POST["unid"]) and isset($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$mes."%') AND (A.CNES LIKE '%".$unid."%') AND (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["mes"]) and isset($_POST["unid"]) and isset($_POST["tipoitem"]) and isset($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.VALIDADE LIKE '%".$mes."%') AND (A.CNES LIKE '%".$unid."%') AND (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (B.ITEM LIKE '%".$item."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; } elseif (isset($_POST["unid"]) and empty($_POST["ano"]) and empty($_POST["mes"]) and empty($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.CNES LIKE '%".$unid."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["unid"]) and isset($_POST["tipoitem"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.CNES LIKE '%".$unid."%') AND (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["unid"]) and isset($_POST["tipoitem"]) and isset($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (A.CNES LIKE '%".$unid."%') AND (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (B.ITEM LIKE '%".$item."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; } elseif (isset($_POST["tipoitem"]) and empty($_POST["ano"]) and empty($_POST["mes"]) and empty($_POST["unid"]) and empty($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; }elseif (isset($_POST["tipoitem"]) and isset($_POST["item"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (B.TIPO_ITEM LIKE '%".$tipoitem."%') AND (B.ITEM LIKE '%".$item."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; } elseif (isset($_POST["item"]) and empty($_POST["ano"]) and empty($_POST["mes"]) and empty($_POST["unid"]) and empty($_POST["tipoitem"])) { $sql = "SELECT * FROM REMANEJAMENTO_ITENS_DISPONIVEIS AS A LEFT JOIN REMANEJAMENTO_ITENS B ON A.ID_ITEM = B.ID_ITEM LEFT JOIN UNIDADES C ON A.CNES = C.CNES LEFT JOIN USUARIOS D ON A.ID_USUARIO = D.ID_USUARIO WHERE (B.ITEM LIKE '%".$item."%') AND (A.VALIDADE < CURDATE()) ORDER BY B.ITEM"; } //caso a consulta apresente falha, exibe mensagem de erro if (!$sql) { echo "<script>alert('Não foi possível executar a consulta: %s\n".$mysqli->error."');</script>"; exit; } $result = mysqli_query($con, $sql); if (mysqli_num_rows($result) > 0) { if (empty($_POST["ano"])){ $ano = "TODOS"; } if (empty($_POST["mes"])){ $mes = "TODOS"; } if (empty($_POST["unid"])){ $unid = "TODOS"; } if (empty($_POST["tipoitem"])){ $tipoitem = "TODOS"; } if (empty($_POST["item"])){ $item = "TODOS"; } if ($_POST["mes"] == "01") { $mes = "Janeiro"; } if ($_POST["mes"] == "02") { $mes = "Fevereiro"; } if ($_POST["mes"] == "03") { $mes = "Março"; } if ($_POST["mes"] == "04") { $mes = "Abril"; } if ($_POST["mes"] == "05") { $mes = "Maio"; } if ($_POST["mes"] == "06") { $mes = "Junho"; } if ($_POST["mes"] == "07") { $mes = "Julho"; } if ($_POST["mes"] == "08") { $mes = "Agosto"; } if ($_POST["mes"] == "09") { $mes = "Setembro"; } if ($_POST["mes"] == "10") { $mes = "Outubro"; } if ($_POST["mes"] == "11") { $mes = "Novembro"; } if ($_POST["mes"] == "12") { $mes = "Dezembro"; } } echo '<div class="alert alert-info" role="alert">Exibindo resultados para os critérios: <br>ANO: '.$ano.' | MÊS: '.$mes.' | UNIDADE: '.$unid.' | TIPO DE ITEM: '.$tipoitem.' | ITEM: '.$item.'</div>'; if (mysqli_num_rows($result) > 0) { ?> <table class="table table-hover table-bordered" style="width: 100%;margin-top: 1%"> <tr style="background-color: #C1CDCD; color: black;"> <th>Data do<br>Registro</th> <th>Unidade</th> <th>Usuário que disponibilizou</th> <th>Tipo de Item</th> <th>Nome do Item</th> <th>Quantidade</th> <th>Lote</th> <th>Validade</th> <th>Valor</th> </tr> <?php while ($row = mysqli_fetch_array($result)){ foreach($row as $key => $values){ $row[$key]= utf8_encode($values); } $valor = $row["VALOR"]*$row["QTD"]; $valor = "R$ ".round($valor,2); ?> <tr style="background-color:white;"> <td><?php echo dataTela($row["DATA_REGISTRO"])?></td> <td><?php echo $row["NOME_UNIDADE"]?></td> <td><?php echo $row["NOME_USUARIO"]?></td> <td><?php echo $row["TIPO_ITEM"]?></td> <td><?php echo $row["ITEM"]?></td> <td><?php echo $row["QTD"]-$row["QTD_SAIDA"]?></td> <td><?php echo $row["LOTE"]?></td> <td><?php echo dataTela($row["VALIDADE"])?></td> <td><?php echo $valor?></td> </tr> <?php } ?> </table> <?php }else{ echo '<br><div class="alert alert-danger" role="alert">Atualmente não constam itens disponibilizados por outras unidades com estes critérios!</div>'; } } ?>  
    • By Jafreal
      Bom dia a todos
       
      Tenho essa query abaixo que estou colocando em um "pedaço" do sistema RM, chamado CUBO.
      DECLARE @CODCOTACAO NVARCHAR(40) DECLARE @CODCOLIGADA INT SET @CODCOTACAO ='2020.000170' -- (numero de cotação) SET @CODCOLIGADA = '2' SELECT Y.IDPRD,MIN(Y.VALCOTACAO * Y.QUANTIDADEORC) as VALOR FROM TCITMORCAMENTO (NOLOCK) Y WHERE Y.CODCOLIGADA = @CODCOLIGADA AND Y.CODCOTACAO = @CODCOTACAO AND Y.VALCOTACAO > 0 GROUP BY Y.IDPRD Essa query poderá, em grande maioria de vezes, me trazer um grande número de linhas, pois estou trazendo de uma cotação os valores mais baixo por produto. Até ai tudo bem, mas me surge um problema, pois devo agora somar o conteúdo, campo VALOR, de todos os itens. Sei que a melhor maneira seria criar uma tabela temporária, mas dentro ERP RM, o mesmo não permite utilizar querys que criam tabelas temporárias e por isso que estou aqui. Gostaria de vocês alguma sugestão para esse dilema. Como somar  as linhas que surgiram dessa query?
    • By luca0202
      SQL state: 42000 SQL error code 8179
      Não foi possivel encontrar a instrução preparada como o identificador - 1
      estou utilizando o os componentes dbExpress ai quando eu testo no meu computador que e windows 10 roda de boinha ai quando vou testar no pc de outra pessoa que e windows 7 da esse erro quando vou abrir um um dbgrid
      o que pode ser esse erro ? alguem me ajude ?
      obs: estou utilizando o banco sql server
    • By juliosertori
      Olá tudo bem?
       
      Tenho uma tabela onde registro os produtos que vendeu, com o ID do Pedido, e preciso listar os mais vendidos por período.
       
      Tenho o SQL:
      SELECT SUM(quantidade) AS quantidade, id_produto, nome_produto FROM pedidos_produtos WHERE id_empresa = '".$_CPD['CompanyId']."' GROUP BY id_produto order by quantidade desc limit 0,10 Lista perfeitamente, mas o problema é que a DATA está na tabela PEDIDOS, como linkar?
       
      Obrigado!
    • By amauri.alves
      Bom dia,
      Estou em uma estação windows tentando me conectar a uma base SQL Server 2012 que está em um servidor Linux e estou tendo o seguinte problema.
      O Sistema tem duas instalações rodando em dois ambientes de servidores.
      Uma equipe utiliza o sistema com a base em um servidor Windows. Isto está funcionando sem problemas.
      Uma outra equipe vai precisar utilizar uma outra instalação do mesmo sistema porem esta terá que utilizar a mesma base instalada em um servidor Linux.
      O Sql Server manager está correto, conectou sem problemas e me responde todas as tabelas sem erros, lista todas as querys e executa todas as procedures views e triguers.
      A Conexão OBDC tambem respondeu sem erros e deu teste de conexção concluido com exito.

      No delphi eu utilizo Ado conection para me conectar à base, e ele responde também sem erros e testa a conexão retornando 
      teste de conexção concluido com exito.
      Até ai está tudo certo.
      O Problema é o seguinte.
      Quando eu ligo uma adotable ou uma ado query ele tambem conecta sem me retornar nenhum erro porem as tabelas não me trazem valor algum, elas respondem como se a base estivesse Vazia.
      Alguem sabe o que eu posso estar fazendo de errado?
      Obs. A Instalação está em dois Ambientes por que a demanda é desativar o servidor Windows e deixar somente a instalaçao Linux.

      **************************************************************
      Ambiente: Estação Windows 10
                Delphi 10.3 
                Sql Server 2012 Instalada em um Servidor Linux
                Conexão ODBC
      **************************************************************
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.