Visual Basic. Программирование на Visual Basic

..........................................................................................................................

[ Главная ] [ Статьи ] [ Для новичков ] [ Примеры ] [ Программы ] [ Microsoft Agent 2.0 ] [ Пособие ] [ Уроки ] [ Разное ]
..........................................................................................................................


Печать отчетов

Мне хотелось продемонстрировать вам возможности объекта Printer и я выбрал для этого свой исходный код, позволяющий "на лету" формировать разнообразные отчеты из DBGrid, заполняемой меняющимися SQL-запросами, в зависимости от выбранных пользователем условий. Собственно говоря, на форме два элемента DBGrid: основной Grid и Grid2, в который также SQL-запросом выводится итоговая сумма по одному из полей отчета.
Этот фрагмент кода позволяет сформировать многостраничный табличный отчет, рассчитав неизвестные заранее количество и ширину столбцов для формата бумаги A4, выводит на печать заголовок Grid, названия и значения полей, наименование и значение итоговой суммы из Grid2. Ограничение - в этом варианте записи в полях таблицы могут выводиться только в одну строку (т.е. есть они не должны быть длинными), количество столбцов программно ограничено 15-ю, но фактически это значение находится в зависимости от длины текста в полях таблицы, что желательно учитывать при формировании запросов.
Думаю, этот фрагмент придется кстати тем, кто работает с базами данных, так как универсальные контролы типа RoboPrint далеко не всем российским программистам по карману. Для того, чтобы посмотреть, как он работает - разместите на форме два элемента DBGrid и 2 элемента Data, кнопку "Печать". Назовите их, соответственно, Grid, Grid2, DataReport, последний - как угодно. Свяжите Grid c DataReport, Grid2 - со вторым элементом Data.
Все, остается синхронно для обоих элементов Data менять SQL-запросы к вашей базе данных (во втором использовать "SELECT SUM(ИмяПоля) As [Итого за месяц, год и т.д. ... :] FROM ... WHERE ..." ) и нажимать на кнопку...


Аналогичный пример отчета для элемента MSFlexGrid. Здесь используется многостраничная печать на бумаге формата A4 в "ландшафт". Группы строк предваряются заголовками, печатающимися через всю таблицу длинной строкой. Текст заголовков должен быть заранее сформирован в MSFlexGrid в левом крайнем столбце для строк, начинающих группу строк. Завершает отчет итоговая строка. В остальном используются те же самые механизмы расчета количества и ширины столбцов с коррекцией их под свойства MSFlexGrid. В отличие от предыдущего фрагмента для формирования отчета используется только элемент MSFlexGrid, названный Grid и его свойства. Сам Grid может заполняться посредством SQL-запросов, изначально количество столбцов в нем не известно.

..........................................................................................................................

[ Главная ] [ Диски ] [ Книги ] [ Архив рассылки ] [ Архив новостей ] [ Готовые кусочки программ ] [ Карта сайта ]
..........................................................................................................................

По страницам сайта Visaul Progs
или Изучение Visual Basic
Рассылка 'По страницам сайта Visaul Progs' >>> Подпишись на рассылку - будешь получать новые статьи , примеры и много полезной информации из первых рук!!! >>>Если у вас есть статья которой нет на сайте
пришлите ее мне-------->
Послать статью
>>>Если вы хотите задать вопрос
пишите-------->
Мне нужна помощь


Рейтинг сайтов YandeG Rambler's Top100
Реклама:

...:::Design by Mystf0rse 2005-2010 year:::...