ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Os dados não atualizam sem antes reiniciar o sistema

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
alexbandeira
Mestre
Mestre


Registrado: Terça-Feira, 27 de Julho de 2004
Mensagens: 812
Localização: Paulista - PE

MensagemEnviada: Qui Jul 07, 2022 5:09 pm    Assunto: Os dados não atualizam sem antes reiniciar o sistema Responder com Citação

Oi pessoal, estou usando Delphi7, FireBird, QReport.

No Delphi7:
Mestre: SQLDataSet, ClintDataSet
Detalhe: SQLQuery, ClintDataSet

É um sistema Mestre Detalhe.

Ao se fazer a venda uso a tabela “tblVendas”, mas, para mostrar no Relatório como detalhe tenho a “tblVendasDetalhe”, mas ambas são alimentadas pela mesma estrutura de dados do FireBird “VENDAS” (tabela no DB).

Citação:
SELECT CODI,
NOME,
ENDERECO,
NÚMERO
FROM VENDAS


Após a venda tudo fica atualizado Qt. Estoque, Caixa, etc.
Mas na hora de mostrar o Relatório as informações alteradas na “tblVendas” não estão atualizadas na “tblVendasDetalhe”.

Eu faço o filtro por data e ativo a “tblVendasDetalhe“ antes de chamar o Relatório. Então deveria se atualizar (creio que o COMMIT já está sendo feito ao ativar a tabela).

É como se as informações não estivessem gravadas no FireBird, mas na verdade já estão.

Quando se fecha o sistema e o abre novamente as informações aparecem atualizadas.
Ou seja, as informações no Relatório só aparecem atualizadas quando se fecha e abre o sistema depois de alguma alteração.
Alguém tem uma solução para que o Relatório se atualize sem precisar fechar e abrir o sistema?

Já tentei:
Refresh na tbl detalhe. Mas não aceita, gera erro. Ela é ativada ao ativar a tbl Mestre.
Desativar e ativar a tbl Mestre. Mas não atualiza.
Desativar e ativar e SQLDataSet Mestre. Nada acontece.
Desativar e ativar todas as tabela. Nada acontece.

Agradeço antecipadamente.
_________________
Conhecemos um grande homem pelas pequenas atitudes.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
anderbelluno
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 1030
Localização: Cianorte-PR

MensagemEnviada: Sáb Jul 09, 2022 4:21 pm    Assunto: Responder com Citação

Se não me engano vc precisa fazer um commitupdates ou applyupdates, após dar o post.
Não sei bem ao certo pq não uso esses componentes, mas praticamente é como vc informar ao seu CDS que gravar os dados no banco.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
alexbandeira
Mestre
Mestre


Registrado: Terça-Feira, 27 de Julho de 2004
Mensagens: 812
Localização: Paulista - PE

MensagemEnviada: Seg Jul 11, 2022 10:12 am    Assunto: Responder com Citação

Isso, no meu caso, como uso um TClientDataSet é ApplyUpdates.

Já se faz.

O problema não é gravar na tabela. O problema é o filtro Mestre Deralhe.

O filtro só funciona se fechar e abrir o sistema.

Está tudo certo, só que tem alguma brecha no Delphi 7 que quando se faz o filtro em um sistema Mestre X Detalhe, não reconhece as atualizações sem antes fechar e reabrir o sistema.

Alguém já passou por isso, alguém tem alguma sugestão para se resolver, ou seja, que a tabela detalhe reconheça as atualizações sem ter que fechar e reabrir o sistema?

Lembrando: Estou fazendo o filtro antes de chamar o QReport.

Citação:
SQLVendasSQL.Add(‘SELECT ...

_________________
Conhecemos um grande homem pelas pequenas atitudes.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Ter Jul 26, 2022 11:40 am    Assunto: Responder com Citação

alexbandeira escreveu:
Isso, no meu caso, como uso um TClientDataSet é ApplyUpdates.

Já se faz.

O problema não é gravar na tabela. O problema é o filtro Mestre Deralhe.

O filtro só funciona se fechar e abrir o sistema.

Está tudo certo, só que tem alguma brecha no Delphi 7 que quando se faz o filtro em um sistema Mestre X Detalhe, não reconhece as atualizações sem antes fechar e reabrir o sistema.

Alguém já passou por isso, alguém tem alguma sugestão para se resolver, ou seja, que a tabela detalhe reconheça as atualizações sem ter que fechar e reabrir o sistema?

Lembrando: Estou fazendo o filtro antes de chamar o QReport.

Citação:
SQLVendasSQL.Add(‘SELECT ...


Bom dia,

Ja tentou executar um reflesh no seu cds?

Ou um cds.close; cds.open; pra ver se ele se atualiza depois de gravar?

Ou se nã der depois de gravar fazer um select no dataset?
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
strak2012
Colaborador
Colaborador


Registrado: Segunda-Feira, 13 de Janeiro de 2014
Mensagens: 1518
Localização: Maceió - AL

MensagemEnviada: Dom Ago 07, 2022 6:01 pm    Assunto: Responder com Citação

adriano_servitec escreveu:
alexbandeira escreveu:
Isso, no meu caso, como uso um TClientDataSet é ApplyUpdates.

Já se faz.

O problema não é gravar na tabela. O problema é o filtro Mestre Deralhe.

O filtro só funciona se fechar e abrir o sistema.

Está tudo certo, só que tem alguma brecha no Delphi 7 que quando se faz o filtro em um sistema Mestre X Detalhe, não reconhece as atualizações sem antes fechar e reabrir o sistema.

Alguém já passou por isso, alguém tem alguma sugestão para se resolver, ou seja, que a tabela detalhe reconheça as atualizações sem ter que fechar e reabrir o sistema?

Lembrando: Estou fazendo o filtro antes de chamar o QReport.

Citação:
SQLVendasSQL.Add(‘SELECT ...


Bom dia,

Ja tentou executar um reflesh no seu cds?

Ou um cds.close; cds.open; pra ver se ele se atualiza depois de gravar?

Ou se nã der depois de gravar fazer um select no dataset?



é como o amigo falou, a solução para tua situação passa por isso mesmo.
_________________
Tudo podemos quando tudo sabemos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB