DBedit recebendo valor mediante digitação do cod pelo usuari

Delphi

18/07/2007

Tenho no form os campos:
Cód
Descrição
U n
Vl_unit

Estou querendo fazer da seguinte forma:
Quando o usuário digitar o código do produto apareça na mesma hora a descrição e os demais campos U n e vl_unit.
Estou usando para o campo cód um maskedit, e dbedit para descrição, u n e vl_unit.

Obs:
DbExpress
FireBirb 2.0


Jpauloss

Jpauloss

Curtidas 0

Respostas

Rodrigorpb

Rodrigorpb

18/07/2007

jpauloss,

Uma vez passei por esta mesma dúvida, então pedi ajuda a um amigo que me passou o seguinte.
Vou fazer seguindo seu exemplo.

[b:6221196aa3]Componentes.[/b:6221196aa3]
4 - DBEdit´s

DBEd_Codigo = Código do Produto.
DBEd_Descricao = Descrição do Produto
DBEd_Un = Não entendi o que é U n <==
DBEd_ValorUni = Valor unitário do Produto

[b:6221196aa3]No evento onChange do DBEdit do código do produto (DBEd_Codigo):[/b:6221196aa3]
procedure TFProduto.DBEd_CodigoChange(Sender: TObject);
begin
  if DM.qProduto.State In [dsEdit, dsInsert] Then
    begin
      if Trim(DBEd_Codigo.Text) <> ´´ Then
        qConsProduto.Locate(´COD_PRODUTO´, StrToInt(DBEd_Codigo.Text),  [loPartialKey, loCaseInsensitive] );
    end;
end;


No exemplo a cima liguei o DBEd_Codigo a a uma query produto no Data Module, e os outros 3 DBEdit´s liguei na query qConsProduto que criei no próprio formulário.

Se alguém tiver algo melhor posta ai para que eu também possa melhorar meu código. Mas este para mim funciona perfeitamente sem erros.


Vlw.


Rodrigo.


GOSTEI 0
Jpauloss

Jpauloss

18/07/2007

jpauloss, Uma vez passei por esta mesma dúvida, então pedi ajuda a um amigo que me passou o seguinte. Vou fazer seguindo seu exemplo. [b:8cfa7ebc9a]Componentes.[/b:8cfa7ebc9a] 4 - DBEdit´s DBEd_Codigo = Código do Produto. DBEd_Descricao = Descrição do Produto DBEd_Un = Não entendi o que é U n <== DBEd_ValorUni = Valor unitário do Produto [b:8cfa7ebc9a]No evento onChange do DBEdit do código do produto (DBEd_Codigo):[/b:8cfa7ebc9a]
procedure TFProduto.DBEd_CodigoChange(Sender: TObject);
begin
  if DM.qProduto.State In [dsEdit, dsInsert] Then
    begin
      if Trim(DBEd_Codigo.Text) <> ´´ Then
        qConsProduto.Locate(´COD_PRODUTO´, StrToInt(DBEd_Codigo.Text),  [loPartialKey, loCaseInsensitive] );
    end;
end;
No exemplo a cima liguei o DBEd_Codigo a a uma query produto no Data Module, e os outros 3 DBEdit´s liguei na query qConsProduto que criei no próprio formulário. Se alguém tiver algo melhor posta ai para que eu também possa melhorar meu código. Mas este para mim funciona perfeitamente sem erros. Vlw. Rodrigo.


Vou tentar. Qualquer coisa posto aqui.
Valeu


GOSTEI 0
Rodrigorpb

Rodrigorpb

18/07/2007

ok.
E se alguém tiver uma idéia para melhorar.
Posta ai.

Vlw


GOSTEI 0
Jpauloss

Jpauloss

18/07/2007

ok. E se alguém tiver uma idéia para melhorar. Posta ai. Vlw


Rpz não consegui não.
Veja bem como está meu sistema:
tem um DM que centralizo tudo lá. Estou usando o sqlDataSet + dataSetProvider + clientDataSet. Como fica no meu caso?


GOSTEI 0
POSTAR