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;
Fiz uma rotina para que o dbgrid mude a cor conforme a condição do meu select. Algo assim no evento OnDrawColumnCell
if dtm.ZQPedidoAbertoquantaberta.value=0 then
begin
DBGPedidos.Canvas.Brush.Color:=clgreen;
DBGPedidos.Canvas.FillRect(Rect);
DBGPedidos.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end
else
begin
DBGPedidos.Canvas.Brush.Color:= clred;
DBGPedidos.Canvas.Font.Color:= clWhite;
DBGPedidos.Canvas.FillRect(Rect);
DBGPedidos.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
O resultado sai corretamente no DBGrid mas basta passar o mouse por cima que ele muda a cor de verde para vermelho. Alguém já passou por isso e pode me ajudar?
Como que eu realizo uma pesquisa no DBGrid com o banco de dados dBase, utilizando os componentes de conexão DataSource1, Table1 e Database1. Tem como eu realizar uma busca sql com esse tipo de BD ou tem outra forma?
Imagem de Exemplo da Aplicação: