Tabela Paradox em Rede, não atualiza.. Porque?

Delphi

27/10/2004

Pessoal, boa noite..

Tenho o seguinte problema:

- Sistema Vendas e Controle de Estoque
- Tabelas Paradox.
- Duas máquinas em rede.

exemplo da rotina:

Tabela1.Open;
Database.StartTransaction;
tabela1qtdestq.value:=tabela1qtdestq.value-qtd_vendida;
tabela1.post;
Database.Commit;
Tabela1.close;

Problema: Se as duas máquinas acessarem o mesmo produto ao mesmo tempo, ora a atualização de estoque é feita de uma máquina ora da outra. Ou seja, o banco de dados não é atualizado ´on time´.

Não sei se fui muito confusa..

Mas, fica assim:

Máquina A - produto X - estoque no momento (63) - vendas(10)=53;
Máquina B - produto X - estoque no momento (63) - vendas(13)=50;

E assim por diante. Quando a máquina B acessa o produto não busca o saldo atual, somente se a máquina A tiver encerrado o sistema.

Ah.. Apenas para elucidar, estou testando numa máquina com Windows 2000 e a outra com Windows XP.

Todas as outras rotinas do Sistema funcionam perfeitamente.

Por favor quem puder me ajudar. Desde já agradeço.

Obrigado.

Selma Kineipp


Selma Kineipp

Selma Kineipp

Curtidas 0

Respostas

Janete

Janete

27/10/2004

use o comando refresh na tabela qdo gravar

Tabela.Refresh; // se mesmo assim não atualizar acrescente fechar a abrir novamente a tabela


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

27/10/2004

Colega,

Verifique se o LocalShare (BDE) está configurado corretamente para rodar em rede. Há muitas dicas e links aqui pelo fórum.


GOSTEI 0
Selma Kineipp

Selma Kineipp

27/10/2004

use o comando refresh na tabela qdo gravar Tabela.Refresh; // se mesmo assim não atualizar acrescente fechar a abrir novamente a tabela


Obrigada pela dica, mas tudo isto eu já fiz.. e mesmo assim continuo com o problema..

Se souber de mais alguma coisa, por favor me mande..

Grata,

Selma Kineipp


GOSTEI 0
Selma Kineipp

Selma Kineipp

27/10/2004

[quote:cf844e079d=´Aroldo Zanela´]Colega,

Verifique se o LocalShare (BDE) está configurado corretamente para rodar em rede. Há muitas dicas e links aqui pelo fórum.[/quote:cf844e079d]

Agradeço também a você, mas eu já revirei o site (continuo revirando rs) e tudo que encontrei sobre o assunto eu testei. Já revi toda a configuração do BDE, inclusive uma informação dada pelo Bacalhau, eu também me preocupei em configurar da forma sugerida.

Continuo com o problema.. Acho muito estranho visto que programei muitos anos em Clipper e para meu espanto deparei com uma situação que parece tão simples e ao mesmo tempo está me tirando o sono. Meu cliente quer a solução.. aí.. já viu.. né.. Desculpe o desabafo..

Obrigado pela atenção.

Selma Kineipp


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

27/10/2004

Colega,

Nunca usei o Paradox, mzs vamos aos chutes:

tabela1.Edit; 
tabela1qtdestq.value:=tabela1qtdestq.value-qtd_vendida; 
tabela1.post; 
dbiSaveChanges(tabela1.Handle); // Adicione BDE na lista de uses


Troque o seu código pelo código acima, principalmente, remova as linhas contendo referências a controle de transação.


GOSTEI 0
POSTAR