1 000 руб.
ДОРАБОТКА ПРОГРАММ
Если Вам необходимо изменить любую программу, например, добавить или изменить отчет или форму, то это можно сделать по отдельному соглашению.
Перейти к оформлению заказа ...
|
|
Класс и его функции предназначены для работы под управлением операционной
системы Microsoft Windows с установленным программным комплексом Microsoft
Office 2000 или выше, обязательно включающим компонент
Microsoft Access
|
|
В примере, который находится в папке Programs, Вы найдете файл
Microsoft Access (AccessWord.mdb), где
будут находиться основные объекты программы. Вот они
- clsReportWord – класс для работы с Word (главный объект
выводы на печать)
- la_Money – функции для перевода чисел в пропись
- la_formInit – это функции для инициализации отчета
Word
- LA_CatalogReports – таблица с описанием отчетов
Обратите внимание. Эти все
объекты надо переносить в другие проекты, если вам необходимо будет
использовать вывод на печать отчетов в формате Microsoft Word. Для заполнения
таблицы с отчетами есть интерфейс, который позволяет это сделать быстрее.
- LA_InitReports – форма для редактирования таблицы
LA_CatalogReports (не обязательный объект)
|
|
В примере есть объекты для
демонстрации примера работы с классом на базе распространенной формы заказов.
Они содержат типовые таблицы
- ЗАКАЗЫ список –
список заказов
- ЗАКАЗЫ данные –
спецификация заказов
- ФИРМЫ – список
компаний и их реквизитов
- АКТИВЫ ед_измерения –
единицы измерения
товаров
- АКТИВЫ список – список
товаров
Формы для заполнения
реквизитов заказа
-
formЗаказы –
форма заказов
-
formЗаказыВкладкаДанные
– спецификация заказа
Запросы SQL для отчета
-
formЗаказыОтчетСчетWordQry
– содержит поля для
вывода шапки отчета
-
formЗаказыОтчетСчетWordQry_T
– содержит поля для
вывода таблицы отчета
Пример шаблона Word *.dot для
вывода отчета. Используется для
подготовки основного отчета
|
|
- Откройте в режиме редактирования документ Счет на предоплату.dot (правой кнопкой в
проводнике) и поставьте закладки в те места документа, которые нужно заполнить.
Меню Вставка – Закладки. Пример документа Word с
закладками.
- Обратите внимание.
Для того чтобы вставить
закладку для таблицы
используйте имя N1. Она
добавляется в первое
поле таблицы, под №1. На
втором этапе работы с
классом нужно определить
запросы. Для этого
используйте редактор
запросов Access.
Запрос. formЗаказыОтчетСчетWordQry
Первый запрос содержит
поля, которые
добавляются в шапку
отчета: БанкИмя,
ФилиалИНН и т.п.
|
idЗаказ |
Филиал |
ФилиалИНН |
ФилиалАдрес |
БанкИмя |
БанкNсчета |
1 |
ООО «Новая компания» |
7722261008 |
124713, г. Москва, ул.
Краснопролетарская, д.16 |
Банк рублевый |
12345678901234567890 |
22 |
ООО «Новая компания» |
7722261008 |
124713, г. Москва, ул.
Краснопролетарская, д.16 |
Банк рублевый |
12345678901234567890 |
Запрос. formЗаказыОтчетСчетWordQry_T
Второй запрос содержит поля таблицы заказов. Выводимые поля имеют префикс
T_ , остальные - вспомогательные
|
T_Пункт |
T_Актив |
T_Кол_во |
T_ЕдИзм |
T_Цена~~format1 |
T_Сумма~~format1 |
format1 |
1 |
Мяч для регби "Mitre Squad" |
1
|
шт.
|
629,00р.
|
629,00р.
|
# ##0-00
|
1 |
Клан Пещерного Медведя |
1
|
шт.
|
99,00р.
|
99,00р.
|
# ##0-00
|
1 |
Jet Live, комплект из 2 шт. |
3
|
|
820,00р.
|
2 460,00р.
|
# ##0-00
|
Обратите внимание. У некоторых
полей, есть формат. Он идет после ~~. Например, поле Цена = 629,0000 надо
вывести в формате 699-00, то оно должно иметь имя T_Цена~~format1.
format1 – это вспомогательное поле и равно ##0-00. Итоги. Префикс Т_ означает,
что это поле будет выводиться в таблице, а суффикс ~~format1 - что поле
форматируется по формату поля format1. Формат данных соответсвует условиям
форматирования полей в Access.
3.
Когда Вы создали запросы и отчет dot, то их нужно записать в таблицу (LA_CatalogReports) и из нее взять
idReport, который будет использоваться для вывода на печать.
Пример интерфейса.
Обратите внимание. Запросы
содержат записи сразу многих заказов, чтобы вывести 1 заказ, нужно назначить
фильтр. idЗаказ=%1. %1 будет заменен на поле
формы заказа (idЗаказ) при выводе на печать.
|
|
Заключительным этапом вывода информации, является привязка отчета к кнопке
формы. Код, который нужно написать на VBA, минимальный. Вот он
Private Sub
butReport_Click()
' Сохраняем текст, если были изменения в форме
Me.Refresh
Dim rpt As rptRecord
Dim idReport As Long
' Код отчета берется из таблицы
LA_CatalogReports
idReport = 228
' Инициализация отчета
fcInitReportADO Me.Form, idReport, rpt
' Отображение отчета
funPreviewReport rpt
End SubОбратите внимание. 228
соответствует индексу отчета.
|
|
Таким образом, нужно только научиться делать закладки и составлять запросы
SQL, чтобы выводить на печать сложные документы в формате Word
|
|
|
|