Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
ru:manual:report:use_macros_in_reports:data_access_from_report [2013/07/15 12:10] admin |
— (текущий) | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Обращение к данным из базы ====== | ||
- | ===== Постановка задачи ===== | ||
- | |||
- | В отчете формата Word по процессу необходимо в разных строках кодом VBA добавить: | ||
- | |||
- | * Параметр процесса "Название"; | ||
- | * Параметр процесса "Содержание деятельности". | ||
- | |||
- | ===== Исходное состояние ===== | ||
- | Решение описывается с момента, когда уже существует пустой шаблон отчета по процессу. Отчет не содержит ни одной привязки. | ||
- | |||
- | ===== Концепция решения ===== | ||
- | |||
- | В шаблоне в местах, где необходимо отображать данные, устанавливаем закладки. Далее кодом VBA получаем необходимые данные из базы и выводим их в указанных местах. | ||
- | |||
- | ===== Шаги решения ===== | ||
- | |||
- | В шаблоне в разных строках вводятся поясняющие названия и добавляются закладки (лента "Вставка" группа "Ссылки" кнопка "Закладка") с названиями: | ||
- | |||
- | * НазваниеПроцесса | ||
- | * СодержаниеДеятельности | ||
- | |||
- | [{{ ru:manual:report:use_macros_in_reports:data_access_from_report:data1.png?nolink |Рисунок 1. Вид шаблона отчета после добавления необходимых закладок и форматирования}}] | ||
- | |||
- | Обратившись к [[/ru/manual/report/object_model| Объектной модели]] определяем необходимые названия параметров Процесса. Для данного примера они называются: | ||
- | |||
- | * Название | ||
- | * СодержаниеДеятельности | ||
- | |||
- | <code vb> | ||
- | |||
- | Sub ПослеВыполненияОтчета(ob As Variant, app As Variant) | ||
- | |||
- | 'Вводная часть | ||
- | |||
- | |||
- | 'Названия закладок | ||
- | bkmName = "НазваниеПроцесса" | ||
- | bkmContent = "СодержаниеДеятельности" | ||
- | |||
- | Dim Name As String 'для хранения параметра процесса "Название" | ||
- | |||
- | |||
- | 'Процедурная часть | ||
- | |||
- | 'Название процесса | ||
- | |||
- | Name = ob.Название 'получаем данные | ||
- | |||
- | Selection.GoTo What:=wdGoToBookmark, Name:=bkmName 'переход к закладке | ||
- | |||
- | Selection.TypeText Text:=Name 'вставляем текст | ||
- | |||
- | 'Содержание деятельности | ||
- | |||
- | Selection.GoTo What:=wdGoToBookmark, Name:=bkmContent 'переход к закладке | ||
- | |||
- | Selection.TypeText Text:=ob.СодержаниеДеятельности 'вставляем текст | ||
- | |||
- | End Sub | ||
- | |||
- | </code> | ||
- | ===== Результат ===== | ||
- | [{{ ru:manual:report:use_macros_in_reports:data_access_from_report:data2.png?nolink |Рисунок 2. Вид сформированного отчета. Все было создано кодом VBA без единой привязки}}] | ||
- | |||
- |