Fórum Edição de registro #232999

18/05/2004

0

Amigos,

Estou com um pequeno problema de lógica aqui na minha aplicação. Tenho uma tabela chamada ´Clientes´, um formulário com 1 DBGrid e 3 botões (inserir, editar e excluir). Meu problema é o seguinte: quando eu vou editar algum registro o ponteiro da tabela pula para o último registro ao invés de ficar no registro em que eu selecionei no DBGrid, é chamado o formulário de edição/inserção e os campos ficam preenchidos com os campos do último registro do DBGrid. Quando eu clico no botão ´cancelar´ o formulário de edição/inserção é fechado e torna a aparecer o formulário com o DBGrid, se eu selecionar o campo novamente aí sim eu consigo editar o registro, o estranho é que o botão cancelar só tem uma linha de código: DM.TBClientes.Cancel;. Alguém sabe qual a razão disso estar acontecendo?? Os procedimentos envolvidos na edição dos registros estão listados abaixo:

Botão Editar:
procedure TFrmClientes.BtnEditarClick(Sender: TObject);
begin
   opcao := 2; // na inserção de registro a variável opcao recebe 1
   FrmCliente.ShowModal; // formulário de edição/inserção
end;


Evento OnShow do formulário de edição/inserção:
   if opcao = 1 then begin  // inserção
      MaskEdit1.setfocus;
   end;
   if opcao = 2 then begin  // edição
      MaskEdit1.Text := DM.TBClientesCliente.Value;
      MaskEdit1.Enabled := false;
      DM.TBClientes.Cancel;
      DM.TBClientes.Edit;
end;



Arlon

Arlon

Responder

Posts

19/05/2004

Wtjunior

Tente tirar o CANCEL...

um abraço
Wilson


Responder

Gostei + 0

19/05/2004

Arlon

Cara, eu já havia tentado tirar mas continuou o problema.

Valeu a ajuda, mas o problema continua.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar