Отчеты MS-Access показывают представление проекта после выполнения - PullRequest
1 голос
/ 04 ноября 2008

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

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

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

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

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

И в отчете о доступе не было написано никакого кода VBA.

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

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

Ответы [ 4 ]

1 голос
/ 04 ноября 2008

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

0 голосов
/ 15 марта 2009

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

Дайте мне знать, если это поможет.

Mike

0 голосов
/ 07 ноября 2008

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

  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.

0 голосов
/ 04 ноября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...