Há algum tempo estou pensando num modo de melhorar meu sistema de medição, principalmente a chamada dos relatórios pois dependem de inserção de dados via cosultas acréscimo.
Essas consultas até hoje não tinham intervalo de datas e toda vez que precisava emitir relatórios, todos os dados eram processados, umas 70,000 linhas.
Fui a luta, estudei um pouco, foi pouco mesmo! Lendo artigos, pesquisando aqui os posts dos mestres e cheguei a uma solução que se tivesse me esforçado mais, teria chegado antes.
Criei duas variáveis públicas:
Public DateReportI As Date 'Data inicial
Public DateReportF As Date 'Data final
Depois, no mesmo módulo, duas funções:
Public Function RangeDateI() As Date 'Data inicial
RangeDateI = DateReportI
End Function
Public Function RangeDateF() As Date 'Data final
RangeDateF = DateReportF
End Function
Na caixa de combinação que dá opção de intervalo, coloquei alguns códigos para inserir a data início e com DateSerial calcula-se a data final e se insere as datas nas variáveis:
DateReportI = Combinação7.Column(1)
DateReportF = DateSerial(Year(Combinação7.Column(1)), Month(Combinação7.Column(1)) + 1, 0)
E na grade das consultas agora só coloquei o intervalo com os nomes das funções e funcionou como eu queira e precisava!
Entre RangeDateI() E RangeDateF()
E para os relatórios que precisam de todos os dados só defino as datas das variáveis com 01/04/2012 e Date.
Moral da história: Se eu tivesse pensado um pouquinho mais, já teria sanado essa necessidade há tempos.
Para os mais experientes no access esse tópico é o que eles já sabem, mas para quem está começando, tenho algumas palavras:
Você tem capacidade e tudo que uma outra pessoa faz você também pode! Vá á luta!
Abraço
Leandro Barbosa
Essas consultas até hoje não tinham intervalo de datas e toda vez que precisava emitir relatórios, todos os dados eram processados, umas 70,000 linhas.
Fui a luta, estudei um pouco, foi pouco mesmo! Lendo artigos, pesquisando aqui os posts dos mestres e cheguei a uma solução que se tivesse me esforçado mais, teria chegado antes.
Criei duas variáveis públicas:
Public DateReportI As Date 'Data inicial
Public DateReportF As Date 'Data final
Depois, no mesmo módulo, duas funções:
Public Function RangeDateI() As Date 'Data inicial
RangeDateI = DateReportI
End Function
Public Function RangeDateF() As Date 'Data final
RangeDateF = DateReportF
End Function
Na caixa de combinação que dá opção de intervalo, coloquei alguns códigos para inserir a data início e com DateSerial calcula-se a data final e se insere as datas nas variáveis:
DateReportI = Combinação7.Column(1)
DateReportF = DateSerial(Year(Combinação7.Column(1)), Month(Combinação7.Column(1)) + 1, 0)
E na grade das consultas agora só coloquei o intervalo com os nomes das funções e funcionou como eu queira e precisava!
Entre RangeDateI() E RangeDateF()
E para os relatórios que precisam de todos os dados só defino as datas das variáveis com 01/04/2012 e Date.
Moral da história: Se eu tivesse pensado um pouquinho mais, já teria sanado essa necessidade há tempos.
Para os mais experientes no access esse tópico é o que eles já sabem, mas para quem está começando, tenho algumas palavras:
Você tem capacidade e tudo que uma outra pessoa faz você também pode! Vá á luta!
Abraço
Leandro Barbosa