Edição de registro

Delphi

18/05/2004

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

Curtidas 0

Respostas

Wtjunior

Wtjunior

18/05/2004

Tente tirar o CANCEL...

um abraço
Wilson


GOSTEI 0
Arlon

Arlon

18/05/2004

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

Valeu a ajuda, mas o problema continua.


GOSTEI 0
POSTAR