Atualizar dados em tempo real
Bom dia a todos,
Desenvolvi um sistema para uma clínica médica e este está funcionando em uma pequena rede (uma máquina na entrada do consultório, operada pela secretária e uma máquina no interior do consultório, operada pelo clínico). Acontece que quando o clínico pede à secretária que cadastre um novo cliente para que ele possa atendê-lo, os dados não aparecem na máquina do clínico. É necessário que a secretária e o clínico fechem o programa e que o clínico acione o programa no terminal dele para que as informações apareçam.
Como faço para que os dados aparecem imediatamente em ambos os terminais.
PS.: Precionar a techa refresh do DBNavigator não resolve o problema.
Desde já agradeço a atenção de todos vocês.
.com
Desenvolvi um sistema para uma clínica médica e este está funcionando em uma pequena rede (uma máquina na entrada do consultório, operada pela secretária e uma máquina no interior do consultório, operada pelo clínico). Acontece que quando o clínico pede à secretária que cadastre um novo cliente para que ele possa atendê-lo, os dados não aparecem na máquina do clínico. É necessário que a secretária e o clínico fechem o programa e que o clínico acione o programa no terminal dele para que as informações apareçam.
Como faço para que os dados aparecem imediatamente em ambos os terminais.
PS.: Precionar a techa refresh do DBNavigator não resolve o problema.
Desde já agradeço a atenção de todos vocês.
.com
.com
Curtidas 0
Respostas
Lindomar.des
27/11/2003
Colega,
Qual BD vc está usando?
Lindomar Sampaio
Vila Velha-ES
Qual BD vc está usando?
Lindomar Sampaio
Vila Velha-ES
GOSTEI 0
Marconi
27/11/2003
Se o refresh não resolve. Feche e abra novamente o arquivo, logo após o comando ´post´.
Eu vou além. Para obrigar ele a atualizar ainda desconecto o database do arquivo e reconecto de novo.
Marconi
Eu vou além. Para obrigar ele a atualizar ainda desconecto o database do arquivo e reconecto de novo.
Marconi
GOSTEI 0
.com
27/11/2003
Bases Paradox. Em propriedades de tabelas estou usando: (AutoRefresh true) e (upDateMode upWhereAll) más não resolve nada.
Se puder me dar uma luz...
Se puder me dar uma luz...
GOSTEI 0
Lindomar.des
27/11/2003
Colega,
use o seguinte no evento alfterpost, aftercancel e afterdelete da tabela:
dbisavechanges((dataset as ttable).handle);
com isso op refresh pasará a funcionar.
Lindomar Sampaio
Vila Velha-ES
use o seguinte no evento alfterpost, aftercancel e afterdelete da tabela:
dbisavechanges((dataset as ttable).handle);
com isso op refresh pasará a funcionar.
Lindomar Sampaio
Vila Velha-ES
GOSTEI 0
Lindomar.des
27/11/2003
Colega,
não esqueça de incluir a unit BDE na clausula uses da unit onde estiver o componente da tabela.
Lindomar Sampaio
Vila Velha-ES
não esqueça de incluir a unit BDE na clausula uses da unit onde estiver o componente da tabela.
Lindomar Sampaio
Vila Velha-ES
GOSTEI 0
.com
27/11/2003
usando [color=red:b28c1985d5]dbisavechanges((dataset as ttable).handle);[/color:b28c1985d5], mensagem de erro na copilação: Undeclared identifier : ´dbisavechanges´.
De qualquer forma, obrigado pela ajuda.
.com
De qualquer forma, obrigado pela ajuda.
.com
GOSTEI 0
.com
27/11/2003
Agora sim...
Obrigado amigo.
Obrigado amigo.
GOSTEI 0
Lindomar.des
27/11/2003
Colega,
desculpe, eu esqueci inclua a unit BDE na clausula uses da unit onde estiver o componente da tabela.
Lindomar Sampaio
Vila Velha-ES
desculpe, eu esqueci inclua a unit BDE na clausula uses da unit onde estiver o componente da tabela.
Lindomar Sampaio
Vila Velha-ES
GOSTEI 0
Marconi
27/11/2003
O que acontece na verdade é que apesar do arquivo conseguir atualizar o banco de dados quando a secretária cadastra, na outra máquina (a do clínico) ainda ele vai visualisar o ´snapshot´ que está na memória.
Quando o programa dele abre a tabela, puxa este ´snapshot´, que não será atualizado mesmo que o banco de dado original mudou. E ele que precisa ter um refresh e não a máquina que está procedendo o cadastro.
Voce precisa, ou colocar um Timer para obrigar o programa a se atualizar de ´tempos-em-tempos´, ou um botão para que ele possa obrigar o refresh na máquina dele.
Quando o programa dele abre a tabela, puxa este ´snapshot´, que não será atualizado mesmo que o banco de dado original mudou. E ele que precisa ter um refresh e não a máquina que está procedendo o cadastro.
Voce precisa, ou colocar um Timer para obrigar o programa a se atualizar de ´tempos-em-tempos´, ou um botão para que ele possa obrigar o refresh na máquina dele.
GOSTEI 0