Jump to content
Fórum Script Brasil
  • 0

[resolvido] Saida Do Campo Dbedit


Eder
 Share

Question

Ola..

Pessoal..seguinte.

tenho um probleminha que da um bug em uma tela de lançamentos

Nesta tela tem um dbedit e no seu Onexit faço uma consulta em uma query

Consulta:

procedure TFormAbaste.DBLookupComboBox1Exit(Sender: TObject);
begin
If QVei_Consulta.Locate('PLACA', DBLookupComboBox1.Text,[]) then
  begin
   NrPlacaAba := QVei_Consulta.fieldbyname('unidade').asstring;
   DbCombobox1.field.value:=NrPlacaAba;
end;

O Problema é quando chega neste campo e derepente o usuario quer cancelar o lancamento, ai da erro quando click no campo de cancelar (dbnavigator).

Tem uma maneira de contornar esta situação??

Grato

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0
tenho um probleminha que da um bug em uma tela de lançamentos

Nesta tela tem um dbedit e no seu Onexit faço uma consulta em uma query

Consulta:

procedure TFormAbaste.DBLookupComboBox1Exit(Sender: TObject);
begin
  If QVei_Consulta.Locate('PLACA', DBLookupComboBox1.Text,[]) then
  begin
   NrPlacaAba := QVei_Consulta.fieldbyname('unidade').asstring;
   DbCombobox1.field.value:=NrPlacaAba;
  end;
end;
O Problema é quando chega neste campo e derepente o usuario quer cancelar o lancamento, ai da erro quando click no campo de cancelar (dbnavigator). Tem uma maneira de contornar esta situação??
Acho que você pode tentar testar se o controle ativado (ativo) não seja algum dos quais você quer que nada seja feito. Supondo que o seu TDBNavigator tenha o nome DBNavigator1, o código deveria ficar assim:
procedure TFormAbaste.DBLookupComboBox1Exit(Sender: TObject);
begin
  if (ActiveControl = DBNavigator1) then
    Exit;

  If QVei_Consulta.Locate('PLACA', DBLookupComboBox1.Text,[]) then
  begin
   NrPlacaAba := QVei_Consulta.fieldbyname('unidade').asstring;
   DbCombobox1.field.value:=NrPlacaAba;
  end;
end;

Funciona com outros controles, com o DBNavigator eu nunca usei.

Abraços

Link to comment
Share on other sites

  • 0
procedure TFormAbaste.DBLookupComboBox1Exit(Sender: TObject);

begin

if (ActiveControl = DBNavigator1) then

Exit;

If QVei_Consulta.Locate('PLACA', DBLookupComboBox1.Text,[]) then

begin

NrPlacaAba := QVei_Consulta.fieldbyname('unidade').asstring;

DbCombobox1.field.value:=NrPlacaAba;

end;

end;

Funciona com outros controles, com o DBNavigator eu nunca usei.

R.: Oba....bza...tava fora da cidade final de semana...por isto só hoje respondi.

Carinha....não funcionou...compilou direitinho..mas é como se o codigo que você colocou não existisse....ele ainda passa....e entra na consulta e o erro persiste.

ERRO: Tlanca - arquivo não esta em modo de edição ou inserção

Tens mais alguma ideia??? Este erro pra te falar a verdade é irritante....eu fiz uns lançamentos no lugar do usuario....e não é fácil. Agora o estranho é que ele deixa passar pelo comando Exit...e cai na consulta. :(

Grato... :D

Para Wagner:

esse erro aconteceu comigo quando uso o metodo append, mas substitui por insert e num deu erro.
Grato :D

R.: Beleza?? Carinha mas Insert é o que eu uso....valeu

Link to comment
Share on other sites

  • 0
Carinha....não funcionou...compilou direitinho..mas é como se o codigo que você colocou não existisse....ele ainda passa....e entra na consulta e o erro persiste.

ERRO: Tlanca - arquivo não esta em modo de edição ou inserção

Tens mais alguma ideia??? Este erro pra te falar a verdade é irritante....eu fiz uns lançamentos no lugar do usuario....e não é fácil. Agora o estranho é que ele deixa passar pelo comando Exit...e cai na consulta. :(

Tenho mais uma idéia sim :D

Se não for problema para você, mantenha o código que passei e habilite a "bendita" da propriedade TabStop que está desabilitada por padrão neste componente. (é que aquele tipo de procedimento só funciona se outro componente recebe o foco)

Abraços

Link to comment
Share on other sites

  • 0
Se não for problema para você, mantenha o código que passei e habilite a "bendita" da propriedade TabStop que está desabilitada por padrão neste componente. (é que aquele tipo de procedimento só funciona se outro componente recebe o foco)

R. Deu Certo....

Eu pra contornar o problema..tinha movido o codigo do Onexit do dbexit p/ o OnEnter do proximo Dbedit....tava até funcionando, o erro não esta mais aparecendo, mas com certeza a sua ideia é bem melhor.....ficou ótimo.

valeu Carinha muito Grato.

Abraço

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.4k
×
×
  • Create New...