Access 2002

Определение числа существующих разделов


Если вы хотите, чтобы раздел отчета был как можно меньше, установите для него нулевую высоту. Тогда раздел будет вмещать все свои элементы управления, но свободного пространства в нем не останется. Тем же способом можно сделать раздел и достаточно большим, чтобы в нем выводилось все его содержимое. Можно поступить и так: присвоить свойству раздела Height значение 0, затем считать значение этого свойства и чуть-чуть его увеличить, чтобы элементам управления было в нем немного посвободнее.

Формы могут иметь не более 5 разделов, а отчеты — не более 25 (5 стандартных плюс заголовок и  для каждого из 10 возможных уровней группировки). В Access отсутствуют встроенные методы, позволяющие определять, сколько разделов содержится в отчете, а эта информация может потребоваться.  8.3 приведена функция, представляющая собой решение данной проблемы: посредством цикла она извлекает высоту всех возможных разделов и подсчитывает количество разделов, для которых не возникает ошибка выполнения. Так как в отчете не может быть более 25 разделов, это число и будет служить ограничителем цикла.

При оптимизации данной функции у нас было искушение делать предположения о существовании тех или иных разделов. К сожалению, за исключением пар верхний колонтитул/нижний колонтитул и заголовок отчета/ отчета, все остальные разделы являются независимыми друг от друга и создаются индивидуально. Это означает, что вам действительно необходимо проверять все разделы с номерами от 0 до 24.

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

Для создания верхнего или нижнего колонтитула либо заголовка или примечания отчета можно воспользоваться методом RunConrnand объекта DoCmd:

DoCmd.RunCommand acCmdReportHdrFtr DoCmd.RunCommand acCmdPageHdrFtr

Комментарии закрыты