Отчеты MS-Access показывают вид проекта после его выполнения.

StackOverflow https://stackoverflow.com/questions/261316

  •  06-07-2019
  •  | 
  •  

Вопрос

Я создал отчет в отчете MS Access и написал код VBA для получения данных и отображения отчета в формате MS-Word.Но при создании отчета во время выполнения в отчете сначала отображается или мигает представление дизайна отчета в течение нескольких секунд, и отчет будет создан.

Я хотел бы найти решение, позволяющее избежать мигания представления дизайна при создании отчета.Возможно ли это в такой кодировке MS-Access или VBA.??

Я публикую строки, которые я использовал для вызова отчета о доступе из кода формы доступа.

DoCmd.OpenReport первым![Аргумент], acPreview

при этом будет создан отчет, но во время выполнения экран дизайна мигает в течение нескольких секунд.

И в отчете о доступе не записан код VBA.

Фактически я подготовил данные в таблице временного доступа и сгенерировал отчет из таблицы.

Проблема здесь в том, что при запуске отчета в режиме предварительного просмотра экран дизайна отчета показывается несколько секунд.Это выглядит плохо со стороны пользователей.

Это было полезно?

Решение

Что произойдет, если вы попробуете этот код:

  Dim strReport As Report        
  strReport = rst!Argument
  If SysCmd(acSysCmdGetObjectState, acReport, strReport) Then
     DoCmd.Close acReport, strReport
  End If
  DoCmd.OpenReport strReport, acPreview

Этот код проверяет, открыт ли отчет в любом представлении, а затем закрывает его, если он есть, а затем открывает его. Это гарантирует, что вы не находитесь в режиме конструктора со скрытым окном.

Код также позволяет избежать любых возможных проблем со ссылками ByRef, которые могут быть связаны с передачей значения из набора записей в команду OpenReport.

Другие советы

Похоже, вы открываете отчет в режиме конструктора, чтобы изменить какое-либо свойство. Возможно, этого можно избежать, но вам нужно будет опубликовать код, который открывает отчет, чтобы сказать наверняка.

Как вы экспортируете отчет в MS-Word? Какой код?

Пробовали ли вы то же самое с простым отчетом (с источником данных таблицы) вместо использования кода VBA? Может быть, VBA занимает так много времени, чтобы держать отчет открытым в режиме разработки достаточно долго, чтобы его можно было заметить.

У меня происходит то же самое, когда я вызываю отчет MS Access из приложения VB6.Причина, по которой это происходит в моем случае, заключается в том, что у меня настроена форма, которая появляется при запуске.Если у вас не выбрана форма запуска, она не должна стать видимой, поэтому не мигает.

Позвольте мне знать, если это помогает.

Майк

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top