DUVIDA SOBRE ATUALIZAR DADOS DOS FORMS

JALEXM 17/04/2012 10:53:08
#400047
Olá.
Na aplicação que estou fazendo, o usuário pode abrir vários forms ao mesmo tempo.
O Form1 altera dados que também aparecem em Form2.
Gostaria que Form2 mostrasse as novas informações imediatamente, mas ele só faz isso se for fechado e reaberto.
Um outro problema é que se em Form2 um registro estiver em edição e o usuário alterar algo em Form1, vai ficar difícil atualizar Form2 sem perder os dados que estão em edição.
Fico meio confuso com essa situação. Alguém teria alguma ideia?
Obrigado.
ADILSOO 17/04/2012 10:59:25
#400049
Voce pode declarar uma variavel publica e jogar os valores nela e atualizar com timer
JALEXM 17/04/2012 11:36:05
#400058
Citação:

:
Voce pode declarar uma variavel publica e jogar os valores nela e atualizar com timer



Será que isso não vai sobrecarregar o banco de dados e o sistema se o intervalo entre as atualizações for pequeno?
E o caso em que Form2 está em edição de um registro? Qualquer atualização pode implicar na perda dos dados digitados.
KERPLUNK 17/04/2012 11:39:29
#400059
Se você tem uma ordem em que os dados devem ser incluídos, ela deve ser respeitada. Se os dados do form2 dependem dos dados do form1, ao fechar o form1, os dados do form2 seriam perdidos. Isso deve ser feito para preservar a estrutura dos dados.
JALEXM 17/04/2012 14:39:39
#400084
Citação:

:
Se você tem uma ordem em que os dados devem ser incluídos, ela deve ser respeitada. Se os dados do form2 dependem dos dados do form1, ao fechar o form1, os dados do form2 seriam perdidos. Isso deve ser feito para preservar a estrutura dos dados.



Verdade.
Mas ainda estou em dúvida sobre como fazer a atualização do Form2.
Estou até pensando em impedir alterações em Form1 se Form2 estiver aberto, mas também não acho que seja uma solução decente e sim um quebra-galho.
Mais ideias?
KERPLUNK 17/04/2012 14:59:37
#400087
Citação:

Estou até pensando em impedir alterações em Form1 se Form2 estiver aberto, mas também não acho que seja uma solução decente e sim um quebra-galho.


Bem pelo contrário, registro aberto para alteração, é transação iniciada, ou seja, ninguém mais pode alterar esse registro até que quem o abriu primeiro conclua a operação, seja cancelando ou gravando...
JALEXM 17/04/2012 15:14:35
#400088
Citação:

:
Estou até pensando em impedir alterações em Form1 se Form2 estiver aberto, mas também não acho que seja uma solução decente e sim um quebra-galho.
Bem pelo contrário, registro aberto para alteração, é transação iniciada, ou seja, ninguém mais pode alterar esse registro até que quem o abriu primeiro conclua a operação, seja cancelando ou gravando...



é que o Form1 altera seu próprio cadastro e, de forma indireta, alteraria o registro mostrado em Form2, que pertence a outro cadastro.
KERPLUNK 17/04/2012 15:19:23
#400090
Mesmo assim, são dependentes. Via de regra não se altera nenhum registro dependente quando uma transação está em andamento. Se tivessem outras tabelas dependentes, estas também não poderiam ser alteradas.
ADILSOO 17/04/2012 16:36:34
#400098
Citação:

registro aberto para alteração, é transação iniciada




Exatamente, não se pode alterar um registro sendo que a insercão do mesmo ainda não foi concluída, seria como o KERPLUNK falo mesmo, se um é dependente do outro pode se usar a logica que fechando um form atualiza o outro, agora se voce quer que atualize imediatamente após inserido o registro usa o timer que fica verificando a variavel, assim que ela for atualizada os dados do form também serão, resumindo, faca os testes cara..
FEDERHEN 18/04/2012 08:14:35
#400129
O ideal é fazer a manutenção de dados (inclusão, alteração e exclução) em apenas um unico formulário e não em vários, pois isso gera redundancias de programação e você vai ter mais trabalho quando precisar adicionar, alterar ou excluir algum campo dessa manutenção.
Também, quando a exibição de dados, caso estes já estejam sendo exibidos em um form, somente devem ser exibidos no outro se for muito necessário e vale sempre a situação dos dados de quando o form foi chamado.
JALEXM 18/04/2012 11:28:52
#400150
Citação:

:
O ideal é fazer a manutenção de dados (inclusão, alteração e exclução) em apenas um unico formulário e não em vários, pois isso gera redundancias de programação e você vai ter mais trabalho quando precisar adicionar, alterar ou excluir algum campo dessa manutenção.
Também, quando a exibição de dados, caso estes já estejam sendo exibidos em um form, somente devem ser exibidos no outro se for muito necessário e vale sempre a situação dos dados de quando o form foi chamado.



Penso que não expliquei muito bem a situação.
Form1 atua sobre um Cadastro de Bancos/Agências e Form2 atua sobre um Cadastro de Clientes e os dois forms podem ser abertos na tela.
O usuário percebe que o nome da agência no registro que está vendo em Form2 (Clientes) possui um erro de digitação e deseja corrigir.
Isso ele faz em Form1 (Bancos). Quando ele salva os dados corrigidos da agência (Form1), essa informação deveria aparecer em Form2 (Clientes) que está aberto na tela. Mas isso só acontece se Form2 (Clientes) for fechado e reaberto, quando deveria aparecer logo após a correção.

Então, como atualizar essa informação em Form2 (Clientes) e como fazer isso sem perder os dados já digitados, caso seja um registro novo?
Essa é toda a questão. Talvez eu não tenha explicado muito bem no início do tópico.

Tem alguma outra ideia?
Página 1 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas