Estou utilizando o seguinte código para editar um registro:
Botão Editar:
procedure TFrmClientes.BtnEditarClick(Sender: TObject);
begin
opcao := 2; // na inserção de registro a variável opcao recebe 1
DM.TBClientes.Edit;
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; ***
DBEdit1.SetFocus;
end;
o problema está na linha com os asteríscos, pois se eu coloco-a como cometário (//) não acontece o problema.
O problema é o seguinte: não sei porque quando o MaskEdit1 recebe o campo Cliente da tabela Clientes, é criado um registro no final da tabela e se eu cancelo a inserção esse registro e clico novamente em editar, aí sim eu consigo editar o registro. O botão cancelar só possui uma linha de código (DM.TBClientes.Cancel;), eu já tentei fazer o seguinte:
1 - cancelar a tabela antes de editar
2 - cancelar a tabela no OnShow do formulário com o DBGrid
3 - cancelar a tabela antes do MaskEdit receber o valor do campo Cliente da tabela e colocá-la em edição novamente após a linha que está em negrito.
só que nenhuma das opções acima deu certo. O que devo fazer??
Pergunta
Arlon
Amigos,
Estou utilizando o seguinte código para editar um registro:
Botão Editar:
Evento OnShow do formulário de edição/inserção:o problema está na linha com os asteríscos, pois se eu coloco-a como cometário (//) não acontece o problema.
O problema é o seguinte: não sei porque quando o MaskEdit1 recebe o campo Cliente da tabela Clientes, é criado um registro no final da tabela e se eu cancelo a inserção esse registro e clico novamente em editar, aí sim eu consigo editar o registro. O botão cancelar só possui uma linha de código (DM.TBClientes.Cancel;), eu já tentei fazer o seguinte:
1 - cancelar a tabela antes de editar
2 - cancelar a tabela no OnShow do formulário com o DBGrid
3 - cancelar a tabela antes do MaskEdit receber o valor do campo Cliente da tabela e colocá-la em edição novamente após a linha que está em negrito.
só que nenhuma das opções acima deu certo. O que devo fazer??
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados