Problema com pesquisa

07/04/2006

Ola gente, estou ainda sofrendo com esta pesquisa.
Não tenho idéia o porque esta dando errado, já mudei a forma da pesquisa e ela ainda não funciona.
Coloquei 3 radiobuton no form e fiz o código sql da seguinte forma:

procedure TFrm_ConsCliCod.BtLocalizarClick(Sender: TObject);Var Campo: String;
begin  
If Edit1.Text=´´ Then    
 Begin      
   ShowMessage(´Entre com um valor a ser pesquisado´);                  Edit1.SetFocus;    
end;  
    IF RadioButtonCodigo.Checked THEN    
 Campo:=´Cod_Cli´ 
 ELSE  
    IF RadioButtonNome.Checked THEN     
        Campo:=´Nome´ 
   ELSE  IF RadioButtonTel.Checked THEN     
Campo:=´Tel_1´;  
With Dmdados.IBQ_Cliente DO      
 Begin       
 Close;        
 Sql.Clear;        
Sql.Text:=´Select * From Tab_Cliente Where ´+ Campo+´Like :Dado´;       
 ParamByName(´Dado´).AsString:= ´¬´ + Edit1.Text + ´¬´;         Open;       
 end;
end;
.
Inclusive peguei este código aqui no forum e segundo o amigo que postou ele funciona normal mais o este não esta funcionando.

Devo estar fazendo alguma coisa errado que não estou identificando.
Alguém me ajude, por favor.
Elmarinho


Peninha

Respostas

07/04/2006

Sremulador

se vc postar o erro vai ser bem melhor para que posssamos identifica-lo mas vamos ver com o cod abaixo..

procedure TFrm_ConsCliCod.BtLocalizarClick(Sender: TObject);Var Campo: String;
begin 
If Edit1.Text=´´ Then   
 Begin     
   ShowMessage(´Entre com um valor a ser pesquisado´);                  Edit1.SetFocus;   
end; 
    IF RadioButtonCodigo.Checked THEN   
 Campo:=´Cod_Cli´
 ELSE 
    IF RadioButtonNome.Checked THEN     
        Campo:=´Nome´
   ELSE  IF RadioButtonTel.Checked THEN     
Campo:=´Tel_1´; 
With Dmdados.IBQ_Cliente DO     
 Begin       
 Close;       
 Sql.Clear;       
Sql.Text:=´Select * From Tab_Cliente Where ´+ Campo+´ Like :Dado´;       
 ParamByName(´Dado´).AsString:= ´¬´ + Edit1.Text + ´¬´;         Open;       
 end;
end; 



Responder Citar

08/04/2006

Peninha

Amigo, eese é o problema, não me retorna erro nenhum.
Qunado cliko no botão localizar pelo que me parece o código é acinado corretemente.


Responder Citar

08/04/2006

Rjun

Fiz uma modificação no seu código. Veja se funciona:

begin
  if (Edit1.Text = ´´) then
  begin
    ShowMessage(´Entre com um valor a ser pesquisado´);
    Edit1.SetFocus;
    Exit;
  end;

  if (RadioButtonCodigo.Checked) then
    Campo := ´Cod_Cli´
  else if (RadioButtonNome.Checked) then
    Campo := ´Nome´
  else if (RadioButtonTel.Checked) then
    Campo := ´Tel_1´;
  else
  begin
    ShowwMessage(´Você deve selecionar um campo para efetuar a pesquisa.´);
    Exit;
  end;

  dmDados.IBQ_Cliente.Close;
  dmDados.IBQ_Cliente.SQL.Clear;
  dmDados.IBQ_Cliente.SQL.Text := ´SELECT * FROM Tab_Cliente WHERE ´ + Campo + ´Like :Dado´;
  dmDados.IBQ_Cliente.ParamByName(´Dado´).AsString := ´¬´ + Edit1.Text + ´¬´;
  dmDados.IBQ_Cliente.Open;
end;




Responder Citar