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

Como Limpar No Form Todos Os Campos Dbedit


Guest Amarildo

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0
Ola Pessoal, alguém saberia me orientar de como fazer esse procedimento, obrg

Amarildo, os componentes DBEdit estão ligados a um dataset, de modo que , eles estarão limpos apenas quando o referido dataset estiver fechado ou após uma chamada aos métodos Insert ou Append.

Qual seria exatamente a necessidade de mantê-los limpo?

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Ola Micheus, obrg pela ajuda com relação a query para redução do nome, valeu esta funcionamento perfeitamente. Com relação ao que estou precisando, fiz funcionar com a seguinte funcao abaixo, só que quando vou digitar no campo do produto, aparece o ultimo codigo do produto digitado.

no icone de gravar os dados do estoque possui esta funcao:

VAR

I : INTEGER;

BEGIN

FOR I := 0 COMPONENTCOUNT -1 DO

BEGIN

IF COMPONENTS IS TDBEDIT THEN

BEGIN

TDBEDIT (COMPONENTS ). TEXT := '';

END;

Funcionou esta função, só que esta ocorrendo o que descrevi acima, quando vou digitar no campo dbeditproduto aparece o ultimo registro digitado.

No meu form, encontra=se uma opção em OnKeyDown que quando teclado F8 irá gerar um novo codigo do produto no campo dbeditproduto.text do form e estou usando insert dentro deste OnKeyDown procurando pelo findlast + 1 e jogando no dbeditproduto.text do form.

Obrg.

Link para o comentário
Compartilhar em outros sites

  • 0
Com relação ao que estou precisando, fiz funcionar com a seguinte funcao abaixo, só que quando vou digitar no campo do produto, aparece o ultimo codigo do produto digitado.

...

Funcionou esta função, só que esta ocorrendo o que descrevi acima, quando vou digitar no campo dbeditproduto aparece o ultimo registro digitado.

Provavelmente porque o dataset está posicionado no referido registro e, ao digitar algo no DBEdit, o dataset entra em modo edição (Status = dsEdit) já que por default a propriedade AutoEdit do DataSource é TRUE.

No meu form, encontra=se uma opção em OnKeyDown que quando teclado F8 irá gerar um novo codigo do produto no campo dbeditproduto.text do form e estou usando insert dentro deste OnKeyDown procurando pelo findlast + 1 e jogando no dbeditproduto.text do form.
Acredito que seria então apropriado que você mantivesse os DBEdit's desabilitados (evitando a edição), até que a ação desejada seja acionada: Inserção ou Editção. Deste modo, ao inserir (seu F8), um novo registro seria criado ficando todos os campos em branco ou ao editar, você habilitaria os campos para que o usuário pudesse modificar os dados.

Observe que se seu programa é utilizado por vários usuários em rede, utiizar findlast + 1, já na inclusão pode não ser uma boa idéia, visto que poderá ocorrer de mais de um "pegar" um mesmo número. O ideal é que este tipo de procedimento ocorra no último momento antes da gravação do registro - BeforePost. E nem assim, é 100% garantido - um dia alguém pode obter o mesmo número e receber um "Key Violation" no post.

Abraços

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
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...