Fórum Atualizar dados em tempo real #197501

27/11/2003

0

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


.com

.com

Responder

Posts

27/11/2003

Lindomar.des

Colega,

Qual BD vc está usando?

Lindomar Sampaio
Vila Velha-ES


Responder

Gostei + 0

27/11/2003

Marconi

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


Responder

Gostei + 0

27/11/2003

.com

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...


Responder

Gostei + 0

27/11/2003

Lindomar.des

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


Responder

Gostei + 0

27/11/2003

Lindomar.des

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


Responder

Gostei + 0

27/11/2003

.com

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


Responder

Gostei + 0

27/11/2003

.com

Agora sim...

Obrigado amigo.


Responder

Gostei + 0

27/11/2003

Lindomar.des

Colega,

desculpe, eu esqueci inclua a unit BDE na clausula uses da unit onde estiver o componente da tabela.

Lindomar Sampaio
Vila Velha-ES


Responder

Gostei + 0

28/11/2003

Marconi

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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar