acho q depois de todas aquelas complicações essa é mais fácil de resolver, mas eu não estou conseguindo... o formulário de edição é o mesmo de inserção, por isso eu uso a variável 'opcao', mas o Corposemalma já me deu uma dica, disse pra usar o tag do formulário e eu nem sabia q o tag servia pra isso, mas... vivendo e aprendendo.
Evento OnShow do form:
if opcao = 1 then begin <-- inserção
LimpaTela;
MaskEdit1.setfocus;
BtnOK.enabled := false;
end;
if opcao = 2 then begin <-- edição
MaskEdit1.Text := DM.TBClientesCliente.Value;
MaskEdit1.Enabled := false;
DM.TBClientes.Cancel;
DM.TBClientes.Edit;
DBEdit3.SetFocus;
o problema é seguinte: se, por exemplo, eu tiver 5 clientes cadastrados e editar o segundo registro, o ponteiro da tabela vai pro último registro, daí eu clico no botão 'cancelar' q possui apenas uma linha de código: 'DM.TBClientes.Cancel;' e se eu clicar no registro novamente e clicar no botão Editar aí sim eu consigo editar os seus dados. Não sei se seria o caso, mas existe alguma maneira de eu colocar o ponteiro da tabela exatamente naquele registro q eu quero editar?? Se você reparar lá no evento OnShow, antes de eu dar o comando de editar eu cancelo a tabela, a mesma coisa q o botão cancelar faz, estranho né!!??
Ah, mais uma coisinha: tem um outro formulário, o de Pedidos, e nele eu coloquei alguns campos com preenchimento automático, através de buscas SQL, pox exemplo:
Tem um DBEdit e ao lado dele um DBText, no evento OnExit do DBEdit eu coloquei uma busca q ele me retorna no DBText o nome do produto correspondente ao código q eu digitei no DBEdit, até aí tudo certo, só q quando eu gravo na tabela só aparece nela o que eu digitei no DBEdit o q eu digitei no DBText não grava, eu já setei as propriedades DataSet E DataField do DBText mas tá acontecendo isso, é normal ou tenho q usar: DM.TBPedidosDescricao.Value := DBText1.Caption ??
Pergunta
Arlon
acho q depois de todas aquelas complicações essa é mais fácil de resolver, mas eu não estou conseguindo... o formulário de edição é o mesmo de inserção, por isso eu uso a variável 'opcao', mas o Corposemalma já me deu uma dica, disse pra usar o tag do formulário e eu nem sabia q o tag servia pra isso, mas... vivendo e aprendendo.
Evento OnShow do form:
o problema é seguinte: se, por exemplo, eu tiver 5 clientes cadastrados e editar o segundo registro, o ponteiro da tabela vai pro último registro, daí eu clico no botão 'cancelar' q possui apenas uma linha de código: 'DM.TBClientes.Cancel;' e se eu clicar no registro novamente e clicar no botão Editar aí sim eu consigo editar os seus dados. Não sei se seria o caso, mas existe alguma maneira de eu colocar o ponteiro da tabela exatamente naquele registro q eu quero editar?? Se você reparar lá no evento OnShow, antes de eu dar o comando de editar eu cancelo a tabela, a mesma coisa q o botão cancelar faz, estranho né!!??
Ah, mais uma coisinha: tem um outro formulário, o de Pedidos, e nele eu coloquei alguns campos com preenchimento automático, através de buscas SQL, pox exemplo:
Tem um DBEdit e ao lado dele um DBText, no evento OnExit do DBEdit eu coloquei uma busca q ele me retorna no DBText o nome do produto correspondente ao código q eu digitei no DBEdit, até aí tudo certo, só q quando eu gravo na tabela só aparece nela o que eu digitei no DBEdit o q eu digitei no DBText não grava, eu já setei as propriedades DataSet E DataField do DBText mas tá acontecendo isso, é normal ou tenho q usar: DM.TBPedidosDescricao.Value := DBText1.Caption ??
Valeu qualquer ajuda galerinha...
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.