GARANTIR DESCONTO

Fórum Atualizar base de dados em tempo real #269553

22/02/2005

0

Olá amigos,

Desenvolvi um sistema e nele usei bases paradox. Este sistema roda em um consultório médico. Acontece que a secretária entra com os dados do cliente e no consultório o médico acessa os dados para continuar com a consulta.

O problema é que as bases não são atualizadas em tempo real. O médico esta tendo que fechar o sistema e tornar a abri-lo para ter acesso às novas inclusões. E às vezes nem fechando e abrindo o sistema as inclusões são mostradas. Às vezes é necessário que a secretária reinicie a máquina na outra sala para que a do consultório mostre os dados.

Tentei incluir a comando ´ApplyUpDates´ no evento AfterPost, más recebo a mensagem ´Undeclared identifier´.

Qualquer ajuda será muito bem vinda.

Augusto.


Vetorzero

Vetorzero

Responder

Posts

22/02/2005

Fábio Feltrin

Se você estiver usando SQL você deve colocar ApplyUpdates, sendo que para utilizar este comando é necessário que você coloque um componente como o IBUPDATESQL localizado na paleta Interbase(Este é o que eu uso), e fazer suas devidas configurações.

Se você estiver utilizando banco de dados normal(digo que não seja sql), você deve colocar o comando REFRESH.

Att Fábio.


Responder

Gostei + 0

22/02/2005

Vetorzero

Olá Fábio,

Obrigado pela dica. O problema que já tentei usar o Refresh só que não funciona. Não atualiza de forma alguma. Se pensar em outra solução poste aqui.

Obrigado.


Responder

Gostei + 0

22/02/2005

Fábio Feltrin

Ok


Responder

Gostei + 0

22/02/2005

Marcio.theis

Já tentou fechar e abrir as tabelas??? Ou trocar tudo para qry...


Responder

Gostei + 0

22/02/2005

Fábio Feltrin

Tente excluir as tabelas do datamodule e reconfigura-las pois talves elas estejam com algum comando desnecessário. principalmente se vc estiver utilizando o IBupdatesql(Reconfigure-o).

Fábio Feltrin da Silveira


Responder

Gostei + 0

22/02/2005

Vetorzero

Olá Fábio,

Neste projeto não estou usando DataModule. Será isso? Será que devo passar as tabelas do formulário para um DataModule ?


Responder

Gostei + 0

22/02/2005

Fábio Feltrin

Não tenho certeza se pode ser por causa do DataModule, não custa fazer uns testes. Que componentes está utilizando para acessar o Banco de dados? Você está utilizando SQL? E tipo se vc não esta utilizando DataModule se eu não me engano vc não podera utilizar a tabela em outro formulário.


Responder

Gostei + 0

22/02/2005

Roy

Dê mais detalhes, por exemplo: qual o banco de dados que está usando, quais os componentes de acesso, etc...


Responder

Gostei + 0

22/02/2005

Vetorzero

Olá Fábio,

Estou usando componentes da paleta Data Access (TTable e TDataSource) e da Paleta Data Controls(TDBGrid, TDBEdit entre outros) aplicados diratamente no formulário (TForm). Neste formulário (Cadastro de Clientes) não utilizo SQL. As tabelas são Paradox.

Meu maior problema é que quando faço as correções em minha máquina, abrindo duas vezes o mesmo programa para simular uma rede, com o refresh funciona. Más quando instalo e testo no consultório não funciona e termino ficando na maior falta de graça.

Se pensar em mais alguma coisa poste aqui.


Responder

Gostei + 0

22/02/2005

Lindomar.des

Colega,

1-Inclua Bbe na clausua uses do form/datamodule;
2-insira o código abaixo no evento de afterpost das tabelas:

dbisavechanges((dataset as ttable).handle);

Com isso ãs informações que estiverem em memória serão descarregadas em disco e vc obtera atualização na rede em tempo real.


Responder

Gostei + 0

22/02/2005

Vetorzero

Olá Lindomar

Inclui BDE na clausula uses do form/datamodule;
Insiri o código ´dbisavechanges((dataset as ttable).handle)´ no evento afterpost das tabelas.

Quando mando compilar o programa acusa uma série de erro que antes não existiam:

DMCadastro.pas(272): ´(´ expected but ´)´ found

Uma série de erros como este aí em cima.

Se retiro a cláusula DBE do uses volta a compilar normal, só que aí não atualiza as bases em tempo real.

Se puder me ajudar, agradeço.


Responder

Gostei + 0

22/02/2005

Gandalf.nho

Em vez de BDE, experimente pôr DBIProcs na cláusula USES


Responder

Gostei + 0

22/02/2005

Lindomar.des

Augusto,

Segue a cláusula uses que uso:

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Db, DBTables, ExtCtrls, Bde, ImgList, IniFiles;

Minha aplicação compila normalmente.


Responder

Gostei + 0

22/02/2005

Vetorzero

gandalf.nho,

Substitui o BDE por DBIProcs e disparou uma série de erros no momento da compilação. Observei que o erro apresentado ´([Error] fCadastro.pas(515): ´(´ expected but ´;´ found´ está relacionado às linhas do código que dizem respeito à data e hora. Exemplo de linha com o erro mencionado:
TabComando.FieldByName(´Data´).AsDateTime := Date;
TabComando.FieldByName(´Tempo´).AsDateTime := Time;
Em todas as linhas com contém referencia a ´Date´ e a ´Time´ acusam o erro acima.
Se eu retiro a cláusula DBIProcs volta a compilar normalmente.

O que pode ser isso?

Desde já agradeço. Se puder me ajudar a resolver vai ser muito bom.


Responder

Gostei + 0

22/02/2005

Roy

Tente
TabComando.FieldByName(´Hora´).AsDateTime := now;
TabComando.FieldByName(´Tempo´).AsDateTime := now;


Responder

Gostei + 0

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

Aceitar