Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal bom dia.
Gostaria de pedir a ajuda de voces referente a um problema que estou enfrentando.
Desenvolvi um sistema em VB6 e estou utilizando o banco de dados em ACCESS.
Nesse banco possui varios campos e entre eles um com a data ATUAL..
Pois o sistema ele vai calculando o juros do cliente mediante a data do vencimento e a data ATUAL...
O porem é que por exemplo:
DATA DO VENCIMENTO: 03/04/2016
DATA DE HOJE: 04/06/2016
uma vez que eu insiro as informações ele coloca a data do dia, porém essa data fica fixa, nao se atualiza...
seria possivel essa data se atualizar a cada dia que passe?....
obs: me refiro a data ja inserida...pois para os novos dados ele coloca a data certa...porem a data ja inserido no dia anterior nao se atualiza....
so falta isso para encerrar meu proojeto...
Desde ja agradeço a ajuda de todos.
ACCESS é muito limitado e complica implementações mais complexas. um BD free como o Mysql tem o EVENT que que termite atualizações programadas como você quer.
Daniel,
Acredito que, no teu caso, o mais performático seria apresentar essas informações direto pelo SELECT, ao invés de armazenar essas informações no BD.
Imaginando que a tabela tenda a aumentar de tamanho, o tempo de processamento para aplicar o UPDATE em todos os dados também irá aumentar.
Caso seja realmente necessária essa abordagem, acredito que um simples comando de UPDATE, vinculado diretamente a um processo do VB6 possa te ajudar.
Ainda assim, sugiro fortemente aplicar essa lógica diretamente na aplicação. Você teria q aplicar algo como:
select cliente,
Switch(
([data_atual]-[data_vencimento])>360,"VENCIDOS MAIS DE 360 DIAS",
([data_atual]-[data_vencimento])>180 And ([data_atual]-[data_vencimento])<=360,"VENCIDOS ENTRE 180 E 360 DIAS",
([data_atual]-[data_vencimento])>90 And ([data_atual]-[data_vencimento])<=180,"VENCIDOS ENTRE 90 E 180 DIAS",
([data_atual]-[data_vencimento])>60 And ([data_atual]-[data_vencimento])<=90,"VENCIDOS ENTRE 60 E 90 DIAS",
([data_atual]-[data_vencimento])>30 And ([data_atual]-[data_vencimento])<=60,"VENCIDOS ENTRE 30 E 60 DIAS",
([data_atual]-[data_vencimento])>0 And ([data_atual]-[data_vencimento])<=30,"VENCIDOS ENTRE 1 E 30 DIAS",
) from tabela
Uma observação importante, o SWITCH do Access só comporta 6 comparações, mas pode ser encadeado.
Qualquer coisa, prende o grito.
Abs.
Acredito que você esteja fazendo uma confusão ai. Já que está utilizando o banco de dados, pode utilizar as funções do próprio SQL para retornar a data atual.
Como eu não sei qual o seu banco de dados, aqui estão para os mais populares:
MySQL: CURDATE