Access 2002

Печать произвольного числа наклеек


Печать произвольного количества наклеек, когда вместе с данными для каждой наклейки в базе данных хранится информация о числе ее копий, является прекрасным примером использования свойств MoveLayout, NextRecord и PrintSecti on. Предположим, что пользователь сохранил в столбце Label Count таблицы tbl Labels число копий строки, которые должны быть напечатаны.  8.9 представлена процедура, необходимая для печати требуемого числа наклеек и вызываемая в ответ на событие Print области данных отчета, в котором выводятся наклейки. (Чтобы проверить, как работает приведенный код, откройте отчет rptMulti Label в базе данных CH08.MDB.) На основе данных, представленных на  8.13, отчет, показанный в режиме конструктора на  8.14, в режиме просмотра получается таким, как на  8.15.

Чтобы описанный метод сработал, в отчет необходимо поместить поле, которое будет содержать число наклеек, подлежащих печати. Это поле может быть невидимым, но оно должно присутствовать в отчете, чтобы программа имела к нему доступ. (В данном примере этот элемент управления называется txtLabel- Count.) В отличие от формы отчет обязательно должен содержать элемент управления, присоединенный к столбцу, на который в отчете имеется ссылка. Формы могут ссылаться на любой столбец базового источника данных, не имея элемента управления, присоединенного к этому столбцу.

Наш пример работает очень просто. Если для какой-либо записи печатать наклейки не требуется, программа осуществляет переход на следующую запись (NextRecord = True), но не переходит на следующую позицию печати (MoveLayout = False) и ничего не печатает (PrintSection = False). Если же значение свойства PrintCount меньше числа наклеек, которое должно быть напечатано (txtLabel- Count), программа не переходит на следующую запись (NextRecord = False), а для других свойств используются значения по умолчанию.

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