Há uma maneira simples de fazer a consulta solicitar o mês em que você a executa: Na consulta, coloque [Digite o mês] no mesmo lugar em que você tem o nome do mês.
Quandoaconsultaéexecutada,umacaixadediálogoapareceráparainseriromês.Vocêpodecolocarqualquertextoquevocêquiserentrecolchetes-nãoprecisadizer"mês"; isso simplesmente define o que a caixa de diálogo dirá. Essa técnica é chamada de "consulta de parâmetro".
Aexecuçãodetodasas6consultascomumaúnicaetapaexigirácódigoVBA-masumcódigomuitosimples.SeususuáriosfinaisnãoprecisamsabernadasobreoVBA-elessóprecisamabrirumformulárioeclicaremumbotão.
Crieumformulário,coloqueumbotãonele.Nalistadepropriedadesdessebotão,escolhaaguiaEventose,emseguida,oevento"Ao clicar". Clique no botão "..." para o evento On Click.
IssoabreajaneladecódigoVBAcomocursornolocalcorreto-SubComandoPrivado0_Clique-emqueComando0éonomedobotão.Digiteocódigoconformemostrado...
Substitua os nomes corretos por suas consultas e repita a linha de código quantas vezes forem necessárias. Abrir o formulário e clicar no botão agora executará todas as consultas de uma só vez.
O próximo passo
A melhoria final seria inserir o parâmetro uma vez e aplicá-lo a todas as consultas automaticamente. Isso requer várias etapas.
Na janela de código do VBA, crie um código "Module". Clique com o botão direito do mouse no painel Project da janela e escolha Inserir / Módulo:
Nonovomódulo,adicioneestecódigo:
gstrMonth é uma string de variável global para conter o nome do mês. A função GetMonth será usada nas consultas para recuperar esse valor.
Agora, altere o código do Form1 para este:
Osub"AskForMonth" exibe uma caixa de diálogo para o usuário digitar um nome de mês. Essa entrada é atribuída à variável gstrMonth.
NocódigoCommand0(botão),adicionamosAskForMonthantesqueaconsultasejaexecutada.Novamente,repitaalinha"DoCmd" para cada consulta com os nomes de consulta corretos.
O passo final é substituir o parâmetro nas consultas por uma chamada para a função "GetMonth". Em vez de [Inserir mês] nos critérios da consulta, coloque "GetMonth ()".
Espero que isso incentive você a usar alguns dos recursos do VBA para automatizar suas tarefas do Access!