Jump to content
  • 0
JorgeeHenrique

Consulta em três campos com dbGrid

Question

Bom dia, sou iniciante em Delphi, estou fazendo um Cadastro de Clientes, gostaria de usar três Edit´s para filtrar alguns  dados porem com o código abaixo consegui fazer apenas com 1 edit.text, como faço pra usar três e que se algum estiver em branco ele retorna o valor apenas do Edit.text que foi preenchido?

 

Exemplo: 

 

Quero buscar por Nome, Situação e Rota (Cliente a da rota B com situação C) e se algum desses campos estiver vazio ele busca apenas o que foi preenchido. Obrigado pela atenção!

 

.

procedure TFrm_Cadastro.Bt_BuscarClick(Sender: TObject);
       

    begin

    with Frm_Cadastro.Tbl_Clientes do
    begin


    Close;
    SQL.Clear;
    SQL.Add( 'Select * from Tbl_Cad_Clientes');
    SQL.Add('where Cli_Nome like :nome');
    ParamByName('nome').Value := '%' + txt_buscar_nome.Text + '%';


    Open;
    end;
end;

 

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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 Pedro Batista Lopes
      Olá pessoal alguém pode me ajudar estou com uma duvida, espero que vocês consigam me ajudar,
      Faço uma busca no banco de dados com mysql, depois faço um laço de repetição foreach e pego os dados do banco e jogo em uma tabel, 
      gostaria de que um campo desse laço se repetisse varias vezes.
      No banco ele pegas as informações de nota fiscal, cliente,nome do cliente e a soma das notas por um período de tempo,
      gostaria que repetisse esse período, que no caso é um ano de janeiro a dezembro.
      segue o codigo.
      </form> <?php $dataIncio = $_POST['data-ini']; $dataFim = $_POST['data-fim']; $dataIncio = date('d/m/Y', strtotime($dataIncio)); $dataFim = date('d/m/Y', strtotime($dataFim)); $buscaNotas = $db->prepare("select a.empresa, a.cliente, b.nom_cliente, e.cod_uni_feder, d.cod_repres, b.cod_tip_cli, count(a.nota_fiscal) as QTD_MES from fat_nf_mestre a join clientes b on (b.cod_cliente = a.cliente) join fat_nf_item c on (c.empresa = a.empresa and c.trans_nota_fiscal = a.trans_nota_fiscal) join pedidos d on (d.cod_empresa = c.empresa and d.num_pedido = c.pedido) join cidades e on (e.cod_cidade = b.cod_cidade) where a.empresa = '10' and dat_hor_emissao between EXTEND(MDY(01,01,2019)) and EXTEND(MDY(01,30,2019)) // esse é o campo que gostaria que repetisse a data está ///01/01/2019 a 01/30/2019 gostaria de um jeito para mudar 01/02//2019 a 30/02/2019 assim por diante. and d.cod_tip_carteira = '1' --and b.nom_cliente = 'MAGAZINE LUIZA S/A' --and b.cod_cliente = '047960950075482' and c.seq_item_nf = '1' and a.sit_nota_fiscal <> 'C' group by 1,2,3,4,5,6"); $buscaNotas->execute(); $linha = $buscaNotas->fetchAll(PDO::FETCH_ASSOC); ?> <table border="1px solid black" class="table col-sm-12 table-striped table-hover"> <thead class="thead-dark "> <tr> <th>Empresa</th> <th>Cliente</th> <th>Nome do cliente</th> <th>Uni_Feder</th> <th>Codigo Representante</th> <th>Cod_tipo_cli</th> <th>janeiro</th>// aqui eu faria janeiro, feveiro, março, abril.....até dezembro <th>Fevereiro</th> </tr> </thead> <?php foreach ($linha as $listar) { ?> <tr> <td><?= $listar['empresa'];?></td> <td><?=$listar['cliente']; ?></td> <td><?=$listar['nom_cliente']; ?></td> <td><?=$listar['cod_uni_feder']; ?></td> <td><?=$listar['cod_repres']; ?></td> <td><?=$listar['cod_tip_cli']; ?></td> <td><?=$listar['qtd_mes']; ?></td> // aqui é a saida onde queria que saisse o restante dos dados. </tr> <?php } ?> </table> <?php   
    • By vdso
      Bom dia! Sou novo aqui no forum e tambem estou iniciando com sql, onde trabalho preciso encontrar uma determinada tabela e me falaram para procurar no dicionário de dados, como faço isso?
    • By jmike936
      Prezados,
       
      Possuo um banco de dados e necessito deixar uma página disponível para quando o usuário entrar com o número do cpf(id), retornar as informações do banco para ele.
      No momento o site está em localhost.
       
      Algum plugin? ou Tema para esse tipo de demanda?
    • By device
      Olá pessoal. Bom dia...
      Preciso somar campos de uma tabela, mas de acordo com critérios que estão na base de dados
      Lá tenho lançado valores como segue.
      MES - ANO - ITEM - VALOR
      O campo mes vai de Janeiro a dezembro, setados em Combobox
      O campo ANO, ITEM selecionados tb em ComboBox e Valor preenchido em campo Edit
      Agora é o problema. 
      Preciso filtrar a soma de acordo com o MES, ANO e ITEM e somar seus valores que estão nos campos Edit
      Por exemplo. 
      Somar todos os Valores, de acordo com o MES, ANO e ITEM (farmácia ou mercado) por exemplo e colocar em uma var.
      O Combobox ITEM, assim como mes de 30 dias e Ano de 2019 à 20xx, tem itens, como Farmacia, mercado, medico, dentista, exames, etc    
      Alguma santa alma poderia dar uma ajuda?  
    • By teylorg
      Olá, boa tarde, estou com este erro quando importo a database e não sei como resolver.
       
      -- Copiando estrutura para view onnde.mega_anunciantes -- Criando tabela temporária para evitar erros de dependência de VIEW CREATE TABLE `mega_anunciantes` ( `cod_mega` INT(13) UNSIGNED NOT NULL, `razao` VARCHAR(250) NOT NULL COLLATE 'latin1_swedish_ci', `nome` VARCHAR(250) NOT NULL COLLATE 'latin1_swedish_ci', `cnpj` VARCHAR(200) NOT NULL COLLATE 'latin1_swedish_ci', `inscricao` VARCHAR(50) NOT NULL COLLATE 'latin1_swedish_ci', `slogo` VARCHAR(200) NOT NULL COLLATE 'latin1_swedish_ci', `pais` VARCHAR(200) NOT NULL COLLATE 'latin1_swedish_ci', `estado` VARCHAR(200) NOT NULL COLLATE 'latin1_swedish_ci', `cidade` VARCHAR(100) NOT NULL COLLATE 'latin1_swedish_ci', `endereco` VARCHAR(150) NOT NULL COLLATE 'latin1_swedish_ci', `bairro` VARCHAR(200) NOT NULL COLLATE 'latin1_swedish_ci', `cep` VARCHAR(50) NOT NULL COLLATE 'latin1_swedish_ci', `complemento` VARCHAR(200) NOT NULL COLLATE 'latin1_swedish_ci', `email` VARCHAR(200) NOT NULL COLLATE 'latin1_swedish_ci[...]
×

Important Information

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