Fórum O que está errado ? #231899
13/05/2004
0
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
Curtir tópico
+ 0Posts
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;
Gostei + 0
13/05/2004
Lfsl
Gostei + 0
13/05/2004
Rodolpho123
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.
Gostei + 0
13/05/2004
Rômulo Barros
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;
Gostei + 0
13/05/2004
Lfsl
Obrigado
Gostei + 0
13/05/2004
Lfsl
Obrigado pela Atenção
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)