MS-Access relata vista mostra projeto após a execução
-
06-07-2019 - |
Pergunta
Eu criei um relatório no relatório MS Access e escrever algum código VBA aos dados retrive e mostrar o relatório no formato MS-Word. Mas enquanto gerar o relatório em tempo de execução, o primeiro relatório de mostrar ou piscar o ponto de vista de design de relatório por alguns segundos e o relatório será gerada.
Eu gostaria de encontrar uma solução para evitar este piscar de vista de design, enquanto gerar o relatório. É possível nesse MS-Access ou VBA codificação. ??
Estou postando as linhas que eu costumava chamar o relatório de acesso de código do formulário de acesso.
DoCmd.OpenReport RST! [Argumento], acPreview
isso irá gerar o relatório mas a tela do projeto está a piscar por alguns segundos enquanto a execução.
E não há nenhum código VBA foi escrito no relatório de acesso.
O funcionamento real é, eu tenho preparar os dados em uma tabela de acesso temporário e gerar o relatório da tabela.
O problema aqui é, ao lançar o relatório no modo de visualização da tela de design do relatório indica de alguns poucos segundos. Isso parece ruim do lado de usuários.
Solução
O que acontece se você tentar este código:
Dim strReport As Report
strReport = rst!Argument
If SysCmd(acSysCmdGetObjectState, acReport, strReport) Then
DoCmd.Close acReport, strReport
End If
DoCmd.OpenReport strReport, acPreview
O que esse código faz é verificar se o relatório já está aberto em qualquer vista e depois fecha-lo se ele é, em seguida, abre-lo. Que garante que você não está no modo de design com a janela oculta.
E o código também evita quaisquer problemas de referência ByRef possíveis que podem estar associadas com a passagem de um valor a partir de um conjunto de registros para o comando OpenReport.
Outras dicas
Parece que você está abrindo o relatório no modo de design, a fim de mudar alguma propriedade. Pode ser possível para evitar isso, mas você precisa postar o código que abre o relatório para dizer com certeza.
Como você está exportando o relatório para o MS-Word? Qual é o código?
Você já tentou a mesma coisa com um relatório simples (com uma fonte de dados tabela) em vez de usar código VBA? Talvez o VBA está demorando tanto para executar que ele está segurando o relatório aberto no modo de design tempo suficiente para ser perceptível.
Eu tenho a mesma coisa acontecer quando eu chamar um relatório do Access MS a partir de um aplicativo VB6. A razão isso acontece no meu caso é porque eu tenho um conjunto de formulários a aparecer na inicialização. Se você não tem um formulário de inicialização selecionado não deve tornar-se visível, portanto, sem piscar.
Deixe-me saber se isso ajuda.
Mike