Tabela Paradox em Rede, não atualiza.. Porque?
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
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
Curtidas 0
Respostas
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
Tabela.Refresh; // se mesmo assim não atualizar acrescente fechar a abrir novamente a tabela
GOSTEI 0
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.
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
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
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
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
27/10/2004
Colega,
Nunca usei o Paradox, mzs vamos aos chutes:
Troque o seu código pelo código acima, principalmente, remova as linhas contendo referências a controle de transação.
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