o que tem de errado nesse código?

Delphi

20/07/2004

[b:971c3fff49]
procedure TForm5.DBEdit1Change(Sender: TObject);
begin
if (ADOQuery1Fornecedor.asstring=´Philips´) then
ADOQuery1Fornecedor.asstring := ´10´
else if (ADOQuery1Fornecedor.asstring=´Sony´) then
ADOQuery1Fornecedor.asstring := ´20´;[/b:971c3fff49]


O que tem de errado nesse código? :?:
eu quero que quando o nome do fornecedor digitado no dbedit for igual a Philips aparece no campo (dbgrid) o numero 10...
e quando for Sony apareça o 20...
mas não está dando.


Fernanda Fonseca

Fernanda Fonseca

Curtidas 0

Respostas

Rafs

Rafs

20/07/2004

A princípio não está errado, porém não deve estar funcionando como você deseja. Poste aqui qual o comportamento deste código na sua aplicação e também a qual campo da tabela o componente DBEdit1 está lincado.
Se estiver lincado ao próprio campo que vc está alterando, ele poderá se comportar de forma estranha.


GOSTEI 0
Fernanda Fonseca

Fernanda Fonseca

20/07/2004

ele esta ligado ao mesmo campo sim!
eu digito Philips e aparece Philips.. mas se eu volto nu dbedit e apago ou digito qualquer outra coisa aparece o numero 10!!

Esta aparecendo o que eu quero depois!!


GOSTEI 0
Inutaishou

Inutaishou

20/07/2004

Fernanda, postei em seu outro tópico:
O DBEdit só posta a mensagem para a tabela no seu OnExit... Use o DBEdit.Text para fazer isso que está querendo... []´s,


[]´s,


GOSTEI 0
Rafs

Rafs

20/07/2004

Ao invés de virificar o conteúdo que está na tabela, verifique o conteúdo no próprio componente, assim vc obterá o resultado esperado.

procedure TForm5.DBEdit1Change(Sender: TObject);
begin
if ([b:40b2332733]DBEdit1.Text[/b:40b2332733]=´Philips´) then
ADOQuery1Fornecedor.asstring := ´10´
else if ([b:40b2332733]DBEdit1.Text[/b:40b2332733]=´Sony´) then
ADOQuery1Fornecedor.asstring := ´20´;

Da forma acima descrita, acredito que vc obterá o resultado que deseja.


GOSTEI 0
POSTAR