2012-02-04 2 views
0

вытягивал мои волосы с помощью этого. Искал везде и не может заставить anythign работать. Вот мой сценарий:MS Access Subreport Группировка и сортировка вопросов

У меня есть отчет с несколькими вложенными отчетами из связанных таблиц. Я хотел бы сгруппировать субресурсы для сортировки по заданному полю на основе значения переменной SORT_BY и принудительного разрыва страницы для каждого значения. Т.е. группируйте подчиненный отчет по ItemDescription или ItemLocation. Переменная SORT_BY устанавливается из диалогового окна prefs пользователей. (ya, я использую его как константу, но пользователь может его изменить)

Теперь я хочу, чтобы пользователь мог просмотреть отчет до его печати. У меня есть отчет, запускаемый в режиме ReportView. Это позволяет мне помещать кнопку «Печать» и кнопку «Закрыть» в заголовке отчета (которые не печатаются). У меня он установлен таким образом, потому что пользователь заблокирован из обычной «ленты» и других элементов управления, поэтому я должен предоставить кнопки. Кнопки не отображаются в режиме PrintPreview.

Очевидно, что мне нужно выполнить это через VBA. Кажется, я не могу заставить настройки GroupLevel работать. Я пробовал функцию CreateGroupLevel безрезультатно. Пробовал с существующими группами и без существующих групп. Я попытался отказаться от идеи группы и попробовал отсортировать подзаголовки с использованием свойства OrderBy, и ничего не работает. Я схожу с ума.

Есть ли у кого-нибудь предложения ... кроме сдачи? :-)

UPDATE: Я пытался функцию CreateGrouplevel перед открытием основного доклада. т. е. откройте каждый отчет в представлении проекта, добавьте группу, закройте подчиненную форму и откройте основной отчет. Однако, когда я пытаюсь реализовать функцию CreateGroupLevel, я получаю сообщение об ошибке:

Ошибка времени выполнения '2154': Вы не можете вызвать эту функцию, когда открываются группа, сортировка и общая панель.

Я этого не понимаю. Вот мой код:

DoCmd.OpenReport strReport, acViewDesign 
intGroupLevel = CreateGroupLevel(strReport, "FluorescentDescription", True, False) 
DoCmd.Close acReport, strReport 

Мысли?

OOOPS!

Хорошо, поэтому я понял, что ошибка «2154». Глупо, если вы все еще включили Группу, Сортировка, Общая панель при редактировании отчета, она будет автоматически включаться каждый раз, когда вы входите в Design View в этот отчет, пока вы физически не отключите его. Странный. Тем не менее, усевшись на это.

+0

Итак, у вас есть подчиненный отчет в области сведений, и вы хотите изменить его в поле сортировки? Я правильно понял? – dwo

+0

Исправить. Фактически, у меня будет несколько подписок в области подробностей. Я хотел бы иметь возможность установить «группу» или, по крайней мере, установить поле «сортировка» на основе переменной, заданной пользователем. Спасибо за ответ. – MultiGuy

ответ

0

Я уверен, что кто-то исправит меня, если я ошибаюсь, однако я не думаю, что кнопки в отчете будут работать. Почему бы не создать свою собственную панель инструментов для отображения, которая содержит «Печать и закрытие»

+0

Ну, кнопки прекрасно работают в режиме просмотра отчетов. Они присутствуют, когда вы просматриваете отчет, но не включаетесь при печати. Здорово. Я просто не могу понять, как манипулировать группами субрегионов и сортировать через VBA. Спасибо за ответ. – MultiGuy

Смежные вопросы