Mensagem de Não Encontrado na Estrutura Case

10/04/2013

1

Boa Noite,

1 - Como posso colocar uma mensagem de 'Fornecedor não Encontrado!' na Consulta abaixo que foi usado com o Locate, para as situações em que o Fornecedor não exista ou não foi cadastrado no banco:

procedure TFormFornecedor.btnConsFornecClick(Sender: TObject);
begin
    case RgConsFornec.ItemIndex of
    0:
      DMCliente.QFornecedor.Locate('CODIGO', edtConsFornec.Text,[loPartialKey,loCaseInsensitive]);
    1:
      DMCliente.QFornecedor.Locate('RAZAOSOCIAL', edtConsFornec.Text,[loPartialKey,loCaseInsensitive]);
  end;
end;


2 - Nesta forma de consulta acima, o resultado da busca é exibido no DBGRID, ao clicar no botão, porem, a forma do resultado fica assim:
Se na minha tabela possuir 300 registros inseridos, e eu pesquisar por FLAVIO CABRAL, como resultado final da consulta final, o DBGRID continuaria exibindo os mesmo 300 registro, porem, com o ponteiro do Grid em cima do resultado.

O que eu preciso é que após ter digitado o dado a ser pesquisado, e ao clicar no botão, o grid não exiba mais os 300 registro e só mente o resultado da pesquisa, no caso o registro FLAVIO CABRAL.

Atenciosamente,
Responder

Posts

11/04/2013

Wilton Júnior

Sr. Flavio, eu faria da seguinter forma:

with DMCliente.QFornecerdor do
begin
close;
sql.clear;
sql.add('select * from Fornecedor');
case opc
0 : sql.add('where codigo = ' + #39 + edtConsFornec.Text + #39);
1 : sql.add('where RAZAOSOCIAL like ' + #39 + '%' + edtConsFornec.Text + '%' + #39);
end;
open;
end;

if DMCliente.QFornecerdor.isempty do
showmessage('Forcenedor nao encontrado');
Responder

11/04/2013

Flavio Silva

muito obrigado Wilton
Responder