Fórum O que está errado ? #231899

13/05/2004

0

Olá galera do fórum !!!
A minha dúvida é o seguinte tenho um formulário onde possuo um Edit e um DBgrid com uma Query que está liga a este DBGrid, no Edit quando usuário digitar o nome do produto o DBGrid irá mostrar o resultado da busca, com o Table é só usar o findNearestno OnChange do Edit, mais eu gostaria de fazer isso usando a Query, então adicionei o seguinte comando no OnChange do Edit:

With QueryPesProdutos Do
Begin
Close;
SQL.Clear;
SQL.Add(´SELECT * FROM produto´);
SQL.Add(´WHERE NomeProduto like=´+ QuotedStr(EditDesPro.Text));
Open;
End;
Mais só que não está funcionando então gostaria que vocês descem uma olhada ou uma outra sugestão.

Obrigado
Aguardo Resposta.


Lfsl

Lfsl

Responder

Posts

13/05/2004

Rômulo Barros

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ClientDataSet1.Close;
  ClientDataSet1.CommandText := ´select nome from pessoal_pes´;
  ClientDataSet1.CommandText :=
  ClientDataSet1.CommandText + ´ where upper(nome) like ´+
  QuotedStr(´¬´+UpperCase(Edit1.Text)+´¬´);
  clientdataset1.Open;
end;
End; 
:P


Responder

Gostei + 0

13/05/2004

Lfsl

Olá, obrigado pela resposta mais este comando ´CommandText ´ não esto conseguindo achar, lembrando que eu uso Delphi 5.


Responder

Gostei + 0

13/05/2004

Rodolpho123

Olá ifsl,

Vc pode usar o método Locate (conhece?) da sua Query. Ele funciona direitinho no evento OnChange do Edit.

Ex:
No evento OnChange:
if Edit1.Text <> ´´ then  //Faz a busca caso o edit não esteja vazio
Query1.Locate(´NOME´,Edit1.Text,[loPartialKey,loCaseInsensitive]);



Se te aparecer a mensagem de ´Undeclared Identifier: loPartialKey,loCaseInsensitive´, verifique se na sua Uses tem as cláusulas DB.


Responder

Gostei + 0

13/05/2004

Rômulo Barros

Tudo bem. O comando CommandText é do ClientDataSet e o mesmo está presente no delphi 6,7 e 8.

tenta assim:

procedure TForm1.BitBtn1Click(Sender: TObject); 
begin 
  Query.Close; 
  Query.Sql.Clear;
  Query.Sql.Add(´select nome from pessoal_pes´); 
  Query.Sql.Add(´where upper(nome) like ´+ 
  QuotedStr(´¬´+UpperCase(Edit1.Text)+´¬´)); 
  Query.Open;
end; 
End; 



Responder

Gostei + 0

13/05/2004

Lfsl

Obrigado pessoal, vo testar e darei uma resposta.

Obrigado


Responder

Gostei + 0

13/05/2004

Lfsl

Valeu pessoal, funciono perfeitamente !!!!!!!!!!!!

Obrigado pela Atenção


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar