Кажется, что первая страница отчета MS Access не вызывает событие On Page - PullRequest
1 голос
/ 21 октября 2008

Я закодировал отчет MS Access 2000, который отображает календарь с одним месяцем на страницу и проектами, добавляемыми в определенные дни. Единственные данные в базовом источнике записей - это список месяцев. Структура создается с помощью события On Page, которое также считывает другие данные.

Когда этот отчет открылся, я заметил, что событие «На странице», похоже, не запускается для первой страницы. (Я связываю это с тем фактом, что функция «На странице» в отчетах активируется при кэшировании страницы, а не при отображении страницы, например при формах «В настоящее время для доступа».)

Когда отчет отображается, моя работа заключается в том, чтобы использовать событие «Активировать», чтобы принудительно запустить подпрограмму «На странице», даже если это событие не было вызвано. Однако, когда отчет экспортируется, он не вызывает событие «Активировать», и первая страница экспорта имеет один из двух форматов: 1) если отчет был открыт в Access (т. Е. При активации был запущен ранее), первая страница идентична либо странице после отображаемой, либо последней странице, за исключением правильного месяца (который поступает из основного источника записи ) 2) если отчет не был открыт в Access, первая страница содержит только структуру в представлении дизайна отчета (т. Е. Множество пустых полей)

Мой лучший обходной путь - это заставить (в противном случае бессмысленно) титульную страницу, чтобы гарантировать, что на первой странице нет ничего, что требует кода для запуска, но это далеко от идеала. Можно ли принудительно запустить код для первой страницы экспорта? Или, может быть, я неправильно понимаю, как работает страница, и мне нужно реструктурировать свой код? (Я также заметил, что On Page, кажется, запускается дважды для последней страницы).

Ответы [ 2 ]

1 голос
/ 21 октября 2008

Я бы порекомендовал реструктурировать ваш код так, чтобы вы строили свои данные в одном запросе, нескольких запросах или в VBA, а затем открывали отчет с новым источником данных. Возможно, у меня все еще есть Access 2000 для проверки, но на работе я могу протестировать и 2003, и 2007, и в обеих версиях событие OnPage вызывается перед отображением каждой страницы. Если вы испытываете другое поведение, я подозреваю, что это связано с тем, что Access не знает, как справиться с тем, что вы от него просите.

Обычно отчет, подобный тому, который вы описываете, разрабатывается с другой стороны: источник данных для отчета будет содержать всю информацию о проекте. Есть ли что-то в данных, которые вы пытаетесь отобразить, которые мешают вам создать запрос, который будет содержать все это?

0 голосов
/ 21 октября 2008

Рассматривали ли вы событие «Формат» для различных разделов, особенно для раздела «Детали»? Формат или Печать - более обычные события для работы с отчетами.

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