Ir para conteúdo
Fórum Script Brasil
  • 0

[resolvido] Saida Do Campo Dbedit


Eder

Pergunta

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 para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...