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.

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top