C-Rover Software C-Rover Software

Главная

Новости

О программе

Справка

Лицензии

Скачать

Оставить отзыв

Контакты

Английский язык Русский язык


МД - Запросная Система. Руководство Пользователя

Быстрое начало работы


В этом разделе описывается Запросная Система на основе Менеджера Данных - функционально полный набор инструментов для создания и исполнения запросов к базам данных, поиска и выборки требуемой информации, для её обобщения и формирования итоговых отчетных данных, для оформления и подготовки формальных отчетных печатных документов, используемых в документообороте предприятия и государственной отчетности.

Ниже будет описано :

Этот раздел является руководством по работе с Запросной Системой. Его также рекомендуется прочитать перед тем как начать углубленное знакомство с Менеджером Данных, для общего представления о нём.


Вернуться к Оглавлению К предыдущему разделу К следующему разделу

Первый запуск Менеджера Данных

Менеджер Данных имеет программу установки - Вам следует скачать инсталляционный пакет (setup.exe, setup_x64.exe или setup_winXP.exe) со страницы загрузки и запустить его на исполнение. Следуйте указаниям программы установки. После установки нужно запустить файл vmzs.exe на исполнение. Можно использовать ярлык (иконку) на Рабочем Столе своего компьютера для вызова этого файла.

Также возможно использовать демонстрационную версию программы, загруженную с нашего сайта. Эта программа также полнофункциональна и реагирует лицензионные ключи. Однако, эта версия Менеджера Данных ориентирована на Windows XP.

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

Важно!
Для работы с Менеджером Данных необходимо, чтобы в операционной системе Вашего компьютера были установлены драйвера ODBC (именно через эти драйвера Менеджер Данных осуществляет доступ к базам данных). В некоторых случаях с этим могут быть проблемы, которые, впрочем, легко решаются, если с Вашего компьютера имеется доступ в Интернет.

В стандартной комплектации 64 разрядные версии Windows не включают в свой состав 64-разрядные версии драйверов ODBC, необходимые для функционирования 64-разрядных версий программ Менеджера Данных. Поэтому необходима установка бесплатного пакета Microsoft Access Database Engine 2010 Redistributable с сайта компании Microsoft. Этот загрузочный пакет устанавливает набор компонент для передачи данных между существующими файлами Microsoft Office, такими как файлы Microsoft Office Access 2010 (*.mdb and *.accdb) и файлы Microsoft Office Excel 2010 (*.xls, *.xlsx, and *.xlsb), и другими источниками или потребителями даннных. Также поддерживается подключение к текстовым файлам и файлам формата Dbase (*.dbf). Устанавливаются драйвера ODBC и OLEDB для приложений, работающих с файлами перечисленных форматов.

Этот пакет также может быть полезен и для 32-разрядных версий Windows, поскольку он обеспечивает расширенную поддержку форматов файлов MS Excel и MS Access - для версий 2007 и выше (штатно в 32-разрядные версии Windows включены ODBC драйвера для поддержки форматов файлов MS Office 2003 и более ранних). Поэтому мы рекомендуем Вам установить пакет Microsoft Access Database Engine 2010 Redistributable в любом случае.

После запуска Менеджер Данных проверяет, какие ODBC драйвера установлены и при необходимости открывает диалоговое окно с предложением установить указанный выше пакет драйверов.

В обычном режиме после запуска Менеджер Данных открывает небольшое основное (главное) окно в верхней левой части экрана.

Главное окно Менеджера Данных

В верхней части главного окна Менеджера Данных находится тулбар - ряд кнопок для вызова различных функциональных компонентов программы. Работу с Запросной Системой можно начать нажав на тулбаре кнопку "Мои Наборы Данных" (крайняя кнопка слева). По этой команде открывается обычная диалоговая панель выбора файла - нужно указать имя для нового файла Набора Данных (таблицы), который будет немедленно создан и доступен для непосредственной работы с ним.

Завершить работу с Менеджером Данных можно в любой момент путем закрытия главного окна программы путем нажатия кнопки "Закрыть" в правом верхнем углу окна. Следует, однако, иметь ввиду, что панель Преобразования Данных вызывается модально, монополизируя все ресурсы Менеджера Данных. Пока она открыта - никакие действия с другими окнами, в том числе и с главным окном, невозможны. Поэтому для каких-либо действий с главным окном МД вначале нужно завершить работу с панелью Преобразования Данных, закрыв её.

К концу страницы К началу страницы

Использование Менеджера Данных как локальной базы данных на Вашем компьютере

Менеджер данных работает с базами данных, используя ODBC (Open Database Connectivity) интерфейс. Для того, чтобы МД мог получить доступ к базе данных через этот интерфейс необходимы 2 условия. Во-первых, на Вашем компьютере должен быть установлен ODBC драйвер для доступа к базам данного типа. Во-вторых - для доступа к конкретному экземпляру базы данных Менеджер Данных должен сформировать и указать при открытии канала связи специальную Строку Описания Соединения (ODBC Driver Connection String).

ODBC драйвера

32-разрядные версии Windows штатно имеют в стандартной комплектации набор ODBC драйверов для 4 типов баз данных:

  • драйвер для локальных баз данных DBase; каждая база представлена отдельным директорием (папкой) с набором файлов формата DBF; в этой базе каждый DBF файл представляет отдельную таблицу. (Замечание для пользователей Делфи: драйвер обеспечивает работу с базой как с установленным BDE так и без него, но в этом случае индексные файлы надо ликвидировать)
  • драйвер для MS Access 2003 (и ниже); каждая база представлена отдельным файлом MDB, поэтому, когда Вы настраиваете Менеджер Данных на такую базу - надо указывать конкретный MDB файл. Драйвер не может создавать новые MDB файлы (по соглашению для создания файлов нужно иметь лицензию MS Office, а драйвер доступен без такой лицензии), потому нужно их создавать в MS Office или переиспользовать имеющийся MDB файл
  • драйвер для MS Excel 2003 (и ниже); каждая база представлена отдельным файлом XLS, поэтому, когда Вы настраиваете Менеджер Данных на такую базу - надо указывать конкретный XLS файл. Драйвер не может создавать новые MDB файлы (для этого надо иметь лицензию MS Office), потому нужно их создавать в MS Office или переиспользовать имеющийся XLS файл. Кроме того, с помощью этого драйвера произвольный доступ по записи к таблицам (страницам) XLS файла невозможен - обеспечивается лишь чтение данных или единовременная запись всех данных в новую таблицы (страницу). Поэтому в Менеджере Данных нельзя организовать полноценную локальную базу данных непосредственно на основе Excel файлов - при работе с Excel данными используйте схему работы, при которой Excel данные зачитываются Менеджером Данных из XLS файлов, записываются и обрабатываются в локальной базе на основе DBase или Access драйверов, и по завершении обработки результаты записываюся в XLS файл в виде новых таблиц (страниц).
  • драйвер для текстовых баз данных; каждая база представлена отдельным директорием (папкой) с набором файлов формата TXT, SCV, ASC или TAB; Также как и в случае драйверадля MS Excel, драйвер текстовых баз данных не обеспечивает произвольного доступа к данным по записи, поэтому текстовые файлы используются преимущественно как универсальное средство импорта данных (ввода данных из других баз) и их экспорта (вывода данных для передачи в другие информационные системы)

64-разрядные версии Windows штатно не имеют установленных ODBC драйверов, поэтому для работы с 64-разрядной версией Менеджера Данных необходима установка пакета Microsoft Access Database Engine 2010 Redistributable. Этот бесплатный пакет загружается с сайта корпорации Microsoft. Он устанавливает набор ODBC драйверов для работы с файлами Microsoft Office - Microsoft Office Access 2010 (*.mdb and *.accdb), Microsoft Office Excel 2010 (*.xls, *.xlsx, and *.xlsb), а также с текстовыми базами данных и базами DBase (файлами *.dbf).

Установка указанного выше пакета ODBC драйверов имеет смысл не только для 64-разрядной, но и для 32-разрядной версии Windows, так как после их установки Менеджер Данных сможет работать не только с файлами MS Office 2003, но и с файлами MS Office 2010.

Строки Описания Соединения

Для соединения с базай данных через ODBC драйвер программа должна указать, через какой именно драйвер должно быть открыто соединение, параметры этого соединения, с какой именно базой требуется соединиться, и т.п. Эта информация как раз и содержится в Строке Описания Соединения.

Менеджер Данных "знает" о том, какая именно информация и в каком формате должна быть выдана в строках соединения для "стандартных" ODBC драйверов, перечисленных выше. Поэтому для этих драйверов (для этих типов Баз Данных) Менеджер формирует строки описания соединения автоматически, при необходимости запрашивая недостающую информацию у пользователя (для MS Excel, например - к какому именно XLS файлу следует обращаться).

Определение Базы Данных в Менеджере Данных

Для ссылок на базы данных в Менеджере Данных используются специальные именованные логические объекты, так же называемые Базами Данных. По умолчанию, в МД определена логическая База Данных myDb, которая (опять же по умолчанию) ссылается на физическую базу данных типа dbf (поддерживаемую драйвером DBase) и представленную директорием (папкой) db, размещенным в корневом директории приложения (по умолчанию - директорий C:\users\user_name\Документы\Менеджер Данных\db ).

Такая DBase база, представляемая набором файлов формата DBF (dbf-файлами), является удобным универсальным и эффективным вариантом для организации локальной базы данных и работы с ней с помощью Менеджера Данных. Из стандартных типов баз данных, поддерживаемых штатно, единственной возможной альтернативой такому выбору является использование базы данных формата MS Access - остальные стандартные типы баз данных имеют ограничения по работе в режиме записи данных. Однако, каких-либо преимуществ в переходе на базу формата MS Access нет. DBase база является лучшим выбором.

Если мы, работая с базой DBase как основной базой, хотим иметь доступ к данным других форматов - таблицам MS Access или MS Excel, то можно создать новую логическую базу, скажем, anotherDb и связать её с нужной физической базой.

Создание дополнительной логической Базы Данных производится в диалоговом окне Настройки Баз Данных. Для его вызова нужно в главном окне Менеджера Данных кликнуть кнопку "Администрирование" и в открывшемся окне настроек - кнопку "Настройка Баз Данных".

Окно Настройки Баз Данных

В данном случае была добавлена новая логическая База Данных b2010, предназначенная для доступа к Excel файлу Book2010.xlsx


К концу страницы К началу страницы

Настройка Менеджера Данных на работу с внешней Базой Данных, локальной или удаленной

Как уже упоминалось, чтобы МД мог получить доступ к базе данных через ODBC интерфейс необходимо, чтобы был установлен ODBC драйвер для доступа к базам данного типа, а также Менеджеру Данных должна быть известна Строку Описания Соединения для доступа к конкретному экземпляру базы данных.

ODBC драйвера

32-разрядные версии Windows штатно имеют в своем составе, а для 64-разрядных версий Windows легко могут быть установлен набор ODBC драйверов для 4 типов баз данных - для локальных баз данных DBase, для MS Access, для MS Excel, и для базы на основе текстовых файлов.

В случае необходимости работы с другими типами баз данных должны быть установлены их ODBC драйвера. К счастью, в большинстве случаев эти драйвера устанавливаются автоматически при установке на Ваш компьютер программного обеспечения для работы с соответствующей базой данных. Ну а в случае их отсутствия - эти драйвера можно найти в Интернете.

Узнать, установлен ли в системе нужный Вам ODBC драйвер можно через Панель Управления Windows - откройте элемент "Администрирование" и выберете пункт "Источники Данных ODBC". Список установленных ODBC драйверов представлен в закладке "Драйверы".

Строки Описания Соединения

Если для "стандартных" типов баз данных Менеджер Данных может формировать Строки Описания Соединения автоматически, то для баз данных других типов (условно назовем их внешними) информация для Строк Описания Соединения должна быть предоставлена в виде так называемых Имен Источников Баз Данных - DSN (Database Source Name) - специальных структур данных, содержащих необходимую для формирования Строк Описания Соединения информацию.

Таким образом, для обеспечения возможности подключения Менеджера Данных к "нестандартной" базе данных необходимо перед работой с МД создать для этого подключения DSN. Затем, в ходе работы с Менеджером Данных Вы сможете указать ему это имя в качестве ссылки на Вашу базу данных.

DSN (Database Source Name)

Итак, DSN - это специальная структура данных Windows, содержащая информацию, необходимую для формирования Строки Описания Соединения с некоторым экземпляром базы данных через соответствующий ODBC драйвер. DSN для Вашей базы данных должен быть определен до начала работы с Менеджером Данных.

Различают Пользовательские DSN, Системные DSN, и Файловые DSN.

Пользовательские И Системные DSN хранятся в Реестре (Registry) и создаются с помощью закладок "Пользовательские DSN" или "Системные DSN" в Панели Управления Windows - элемент "Администрирование", пункт "Источники Данных ODBC". Там находятся кнопки, позволяющие создать новый DSN и задать его свойства - вначале ODBC драйвер, через который должно устанавливаться соединение, а затем, в зависимости от выбранного драйвера, тот или иной набор свойств этого соединения.

Отличие системного DSN от пользовательства в том, что системный DSN может быть создан только администратором. Будучи созданным он будет доступен всем пользователем компьютера.

Файловые DSN (также называемые DSN-файлами) хранят сведения о подключении в текстовых файлах, а не в реестре Windows и, как правило, более гибки в использовании, чем машинные (пользовательские и системные) DSN. Например, файловый DSN можно скопировать на другой компьютер. Файловый DSN - это текстовый файл с расширением .dsn, имеющий формат, соответствующий стандарту формата файлов INI. Для их создания нужно знать перечень параметров, которые должны в нем задаваться и формат задания этих параметров - в принципе, это те же данные, которые задаются в пользовательских и системных DSN.

Когда Менеджер Данных запрашивает имя DSN для подключения к Базе Данных, то можно указать как машинный (пользовательский или системный) DSN, так и файловый DSN - интерпретация зависит от наличия в имени DSN расширения .dsn

Об интерфейсе ODBC и источниках данных можно почитать еще и здесь.

Определение Базы Данных в Менеджере Данных

Если нужный ODBC драйвер установлен и DSN для соединения с базой данных определен, то можно запустить Менеджер Данных и настроить его на работу с этой базой.

Стандартно Менеджер Данных работает с логической Базой Данных myDb, ссылающейся на локальную физическую базу типа DBase. Если нам нужно работать с другой, не стандартной, "внешней" базой, то мы можем либо переопределить Базу myDb, связав ее с интересующей нас физической базой, либо создать новую логическую базу, скажем, hisDb и уже её связать с нужной физической базой.

Как именно следует поступить - зависит от обстоятельств. При создании Наборов Данных соответствующие им физические таблицы создаются в Базе Данных myDb. Если необходимо, чтобы Набор данных относился к другой Базе Данных - ее нужно всякий раз явно указывать. Поэтому, если мы хотим в данном приложении Менеджера Данных постоянно работать с новой, внешней базой, то лучше переопределить myDb, настроив ее на внешнюю базу. Если же основная обработка данных предполагается в локальной dbf-базе, а внешняя база данных будет использоваться лишь для доступа к исходных данных и записи результатов работы - то лучше определить новую логическую Базу Данных и связать внешнюю базу с ней. Обычно используется именно этот вариант.

В любом случае - создание дополнительной логической Базы Данных и переопределение Базы myDb - производится в диалоговом окне Настройки Баз Данных. Для его вызова нужно в главном окне Менеджера Данных кликнуть кнопку "Администрирование" и в открывшемся окне настроек - кнопку "Настройка Баз Данных" (см. предыдущий раздел).


К концу страницы К началу страницы

Настройка Менеджера Данных на структуру таблиц имеющейся Базы Данных

Концепция Наборов Данных

Настройка Менеджера Данных на структуру и логические взаимосвязи таблиц в целевой базе данных заключается в их адекватной интерпретации в терминах понятий (объектов), с которыми он "умеет" оперировать. Главным таким объектом (понятием) является Набор Данных. Менеджер Данных "считает" базу данных состоящей не просто из физических таблиц, а из Наборов Данных, более широких логических объектов.

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

Типы данных значений в отдельных полях Набора Данных "богаче" физических типов в базе данных. Например, Менеджер Данных поддерживает для Наборов Данных такие типы данных как "географические координаты точки на карте", "URL-ссылка" (адрес интернет-страницы), "общая дата" (примером значения этого типа является "1-я половина 18 века").

Кроме собственно табличных данных Набор Данных "включает" в свой состав также целый набор других вспомогательных элементов (объектов) - так, например, для каждого Набора Данных задается набор Форм Доступа к нему (называемых таже формами показа Набора Данных). Каждая Форма Доступа (показа) соответствует некоторому контексту использования Набора Данных. Например, Картотека больных может содержать множество полей данных, однако для врачей и бухгалтеров этот Набор Данных должен быть показан разными способами - для них интересны разные поля записей Картотеки и, возможно, для них должны использоваться разные экранные формы для показа и редактирования отдельных записей или формы для их печати.

Для каждой Формы Доступа (показа) Набора Данных могут быть определены свои наборы вспомогательных элементов - набор панелей для представления данных в виде печатного документа или в виде экранной формы (например экранной формы для редактирования строки таблицы); набор дополнительных таблиц, связанных с основной таблицей (например, с Набором данных "Художники" можно связать дополнительную таблицу "Картины", которая для каждого художника - то есть для каждой записи в основной таблице Набора Данных - будет выдавать список (дополнительную таблицу) картин, им написанных).

Также для Формы Доступа (показа) Набора Данных обычно определяется набор Запросов - специальных запросных шаблонов, определяющих вид и способ формирования на основе исходного Набора Данных некоторой итоговой или отчетной информации. В свою очередь, каждому Запросу может быть приписана одна или несколько Печатных Форм - вспомогательных панелей для формирования печатных отчетных документов.

О концепции Наборах Данных можно также почитать здесь. О Формах Доступа (показа) к Наборам Данных и работе с ними можно почитать здесь и здесь.

Создание Набора Данных для доступа к имеющейся таблице

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

Однако, если требуется создать Набор Данных, ссылающийся на уже существующую таблицу, то нужно придерживаться последовательности действий, приведенной ниже (предполагается, что Менеджер Данных уже настроен на целевую физическую базу данных и эта база имеет в нем логическое имя oldDb).

Шаг 1. Создаем простой набор данных, нажав кнопку "Наборы Данных" в главном окне МД и введя в открывшемся стандартном диалоге выбора файла имя нового (несуществующего) vmd-файла (vmd-файлы представляют в Менеджере Данных описания структур отдельных Наборов Данных). В результате будет создан и показан табличный набор данных стандартной структуры, пустая таблица с тремя столбцами.

Шаг 2. Открываем окно простого редактирования табличной структуры Набора Данных, нажав кнопку "Изменить структуру таблицы" в левом верхнем углу окна показа Набора Данных

В правом верхнем углу окна редактирования структуры таблиц находится кнопка "Расширенное редактирование структуры таблицы", при нажатии на которую открывается окно расширенного редактирования, обеспечивающее весь спектр поддерживаемых Менеджером Данных возможностей. В этом окне мы и будем настраивать наш набор данных на существующую физическую таблицу.


Окно расширенного редактирования структуры таблиц представляет все аспекты реализации данной таблицы в Менеджере Данных - здесь указано имя файла, представляющего данное описание таблицы (описания таблиц хранятся в Менеджере Данных в виде служебных файлов с расширением .vms), имя Базы Данных и имя физической таблицы, в которой хранятся данные этого табличного Набора Данных.

Шаг 3. Удалить все описания полей в описании таблицы Набора Данных, поочередно выделяя строки таблицы Щелчком мыши на номере строки (первой ячейке слева, в столбце #) и нажимая на кнопку "Удалить" в правой стороне экрана

Шаг 4. Теперь нужно настроить Набор Данных на целевую базу данных. По умолчанию Менеджер Данных создает новые Наборы Данных в Базе myDB. Нужно изменить это назначение, нажав кнопку "Выбрать" справа от поля имени Базы Данных и выбрав интересующую нас базу данных в появившемся списке доступных Баз Данных.


В нашем примере мы выбираем Базу Данных oldDb, которой соответствует база (книга) MS Excel, представленная файлом Book201.xlsx

Шаг 5. Нужно теперь задать имя физической таблицы. Для выбора этого имени из списка существующих таблиц можно нажать клавишу с вопросительным знаком справа от поля имени физической таблицы.


Шаг 6. После выбора таблицы будет доступна кнопка "Создать описание по файлу" в правой части диалогового окна; клик мышью на этой кнопке приведет к считыванию структуры существующей физической таблицы в указанной Базе Данных и формированию соответствующего описания структуры таблицы для Набора Данных.


Автоматически сгенерированное описание логической таблицы может быть теперь изменено с целью отображения логических связей физической таблицы с другими таблицами (например, путем определения кодированных полей) и/или расширения списка полей виртуальными (вычисляемыми) полями. В частности, нужно определить мнемонические наименования для полей Набора Данных, поскольку по умолчанию они просто совпадают с именами полей в физической таблице.

Шаг 7. Отредактировать описания полей Набора Данных. Для редактирования описания того или иного поля нужно дважды кликнуть мышью на нужной строке описания для открытия диалогового окна редктирования описания поля.


Автоматически сгенерированное описание логической таблицы может быть затем изменено с целью отображения логических связей физической таблицы с другими таблицами (например, путем определения кодированных полей) и/или расширения списка полей виртуальными (вычисляемыми) полями или полями, выбираемыми из нормативных таблиц.

О вычисляемых полях можно почитать здесь.
О полях, выбираемых из нормативных таблиц можно прочесть здесь.
Кодированные поля (поля с подключенным справочником) и их определение описаны здесь.

Следует иметь ввиду, что Набор Данных - это не просто таблица, но сущность более высокого логического уровня, для которой в Менеджере Данных имеется богатый набор стандартных механизмов интеграции и взаимодействия с другими объектами, такими как таблицы, экранные формы, шаблоны запросов, отчетные формы и т.п. Так что "вписывание" существующих таблиц в парадигму Наборов Данных предполагает не только фиксацию структуры существующей таблицы в соответствующей табличной структуре Набора Данных , но и представление целых фрагментов существующей прикладной информационной системы в терминах этой парадигмы.

О Наборах Данных можно почитать здесь,
а также здесь.


К концу страницы К началу страницы

Cоздание Запросов для Набора Данных

При создании Набора Данных для него автоматическая определяется Форма Показа данных (форма доступа к Набору Данных) и для этой стандартной формы показа - стандартная Запросная Форма.


Эта запросная форма в своем исходном виде не имеет большого смысла - при запуске запроса на выполнение она будет выдавать в качестве результата те же данные, что представлены в исходной форме показа, то есть записи Набора Данных как они есть без изменения. Однако, она может быть легко изменена с помощью диалогового окна редактирования Запроса, которое вызывается нажатием кнопки "Изменить данную форму запроса" в левом верхнем углу окна запроса.


В Менеджере Данных могут быть определены два основных вида запросов к табличной информации, представленной наборами данных - запросы с группировкой и подведением итогов и запросы типа Отчетная форма.

Запрос с группировкой и подведением итогов обеспечивает упорядочение и группировку строк таблицы по одному или нескольким столбцам с последующим формированием итоговых строк для каждой из выделенных групп. Итоговая строка, сформированная для отдельной группы строк данных, может включать различную итоговую информацию, получаемую в процессе просмотра и обработки строк из этой группы по правилам, заданным описанием конкретного запроса (заданными при создании запроса). Так, например, в итоговую строку можно записывать значение счетчика строк в группе, или для каждой группы строк можно вычислять и размещать в итоговой строке сумму значений в некотором поле.

Отчетные формы - это таблицы фиксированной структуры с именованными столбцами и именованными строками, содержащие обобщенные данные для заданных наборов данных. Заполнение полей в строках и столбцах отчетной формы при исполнении запроса производится путем просмотра записей набора данных, их обработки, анализа и вычисления значений полей отчетной формы в соответствии с некоторым алгоритмом. Алгоритм формирование данных для отчетной формы задается при определении запроса.

Стандартная Запросная Форма, автоматически определяемая при создании Набора Данных, определяет запрос с группировкой и подведением итогов. Если нам необходимы запросы других типов или просто необходимо создать еще одну Форму Запроса с подведением итогов, то создать новый запрос (новую Форму Запроса) можно в окне редактирования свойств Набора Данных.

Вызов окна свойств Набора Данных осуществляется из окна Показа Набора Данных. Для вызова окна свойств Набора Данных нужно нажать кнопку "Свойства Набора Данных" в левом верхнем углу окна показа.

Окно свойств Набора Данных

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

Для создание новой Формы Запроса следует нажать кнопку "Создать еще одну форму запроса"

При создании Формы Запроса Менеджер Данных предлагает выбрать тип создаваемого Запроса. Это может быть либо запрос с группировкой данных и подведением итогов по каждой группе данных, либо запрос с формированием Отчетной Формы - отчетной таблицы произвольной структуры с отчетными данными, формируемыми в процессе просмотра записей исходного Набора Данных в соответствии с определенным для этого Отчета Деревом Принятия Решений. Сделанный пользователем в момент создания Запросной Формы выбор не может быть впоследствии отменен - тип запроса нельзя изменить в процессе редактирования Формы Запроса.

Созданная Форма Запроса изначально идентична по своим параметрам форме показа, для которой она была создана - выполняемый с её помощью запрос отбирает такие же данные, как и его " родительская" форма показа (он наследует от формы показа список выходных полей, полей сортировки и список условий фильтрации - фильтров). При этом никакие итоговые или отчетные данные не формируются, то есть созданная запросная форма изначально не имеет смысловой нагрузки. Для определения содержательного Запроса необходимо отредактировать эту только что созданную Форму Запроса. Это можно сделать немедленно, из окна Свойств Набора Данных, нажав кнопку "Изменить данную Форму Запроса". Возможно также отредактировать Форму позднее, непосредственно из окна исполнения Запроса, нажав такую же кнопку в его левом верхнем углу.

Окно редактирования предназначено для изменения существующих Запросных Форм. Для Запросов с подведением итогов и для Запросов с формированием отчетов оно выглядит почти одинаково. Различие заключается в использовании таблицы управления Сортировкой данных - в запросах с подведением итогов она используется для задания требуемой группировки данных, а в запросах с формированием отчетов практически не используется (как правило, работа алгоритма формирования отчетных данных не зависит от порядка просмотра записей исходного Набора Данных).

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

Вообще говоря, таблица, к которой относится запрос определена самим Набором Данных, для которого эта Запросная Форма была создана. Нет никаких причин переопределять, "перенапраявлять" запрос к какой-то другой таблице. Однако, по историческим причинам, поле имени таблицы сделано в виде раскрывающегося списка для выбора таблицы, что, в принципе, позволяет его изменить (чего делать не нужно).

В списке, занимающем левую часть окна редактирования Формы Запроса" и озаглавленном как "ПОЛЯ ТАБЛИЦЫ:", высвечивается список полей (столбцов) таблицы, которую представляет Набор Данных. Выбрав (селектировав) нужные поля в этом списке можно нажатием клавиши "Стрелка вправо" их переместить в центральное окно - список "ВЫХОДНЫЕ ПОЛЯ:". Здесь задаются столбцы таблицы, которые должны быть представлены в выходном документе запроса. Если список выходных полей пуст, то считается, что он совпадает со списком всех полей таблицы. Подробное описание процесса редактирования этого списка приведено здесь

Справа находится окно управления сортировкой "СОРТИРОВАТЬ ПО:". Здесь могут быть указаны поля, по которым должна производиться сортировка записей. Для запросов с подведением итогов можно также установить в столбце "ИТОГИ" признаки группировки по выбранным полям, что приведёт к формированию в выходном документе запроса соответствующих итоговых строк. Список полей сортировки создается путем селектирования полей в списке выходных полей и перемещения их копий в список сортировки с помощью клавиши" Стрелка вправо". Подробное описание процесса редактирования этого окна приведено здесь

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

В центре окна редактирования, в правой его части, ниже окна управления сортировкой, находятся кнопки "Итоги" и "Отчет". В зависимости от типа запроса используется одна из них. Так, для запросов с группировкой и подведением итогов кнопка "Итоги" позволяет открыть специальное диалоговое окно для задания формата формируемых итоговых строк. Для запросов с формированием Отчетов кнопка "Отчет" позволяет открыть диалоговое окно для задание формата отчетной таблицы и определения Дерева Принятия Решений при формировании отчетных данных.

Левее этих кнопок размещаются кнопки "Шапка" и "Подвал", позволяющие задать дополнительный текст, который помещается в стандартную печатную отчетную форму для результатов запроса, формируемую при его исполнении и последующей печати.

К концу страницы К началу страницы

Определение Запроса с группировкой и подведением итогов

Отсортированные записи в таблице результатов могут быть сгруппированы (разбиты на группы) - каждую группу будут составлять записи с одним и тем же значением заданного поля. В таблице результатов каждой группе записей будет сопоставлена итоговая строка - она автоматически будет добавляться Менеджером Данных после каждой группы записей. Итоговая строка включает обобщенную информацию для данной группы записей, например, число записей в данной группе.

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

Необходимость группировки и формирования итоговых строк задается установкой в списке сортировки признака ИТОГИ. Для установки этого призанака необходимо дважды щелкнуть левой кнопкой мыши в поле ИТОГИ требуемой строки списка сортировки.

Так, например, в таблице слева установлено два признака группировки - один для строки общего итога и один - для поля ЛПУ. Запросная система сформирует для каждого ЛПУ строку итога и поместит итоговую строку в конце каждой группы. Кроме того, будет сформирована итоговая строка для всего документа.

Как формируются и какая информация размещается в итоговых строках? Это определяется форматом итоговых строк. Для просмотра и задания формата итоговых строк необходимо нажать клавишу "Итоги", расположенную ниже списка сортировки в правой части экрана.

Клавиша "Итоги" становится доступна в окне редактирования запроса с подведением итогов только в том случае, если хотя бы для одной строки сортировки или для строки общего итога установлен признак группировки (стоит "галочка" в столбце ИТОГИ).

Просмотр и задание формата итоговых строк производится в специальном окне определения формата итоговых строк, высвечиваемом Менеджером Данных при нажатии на клавишу "Итоги", расположенную ниже списка сортировки в правой части экрана.

Рассмотрим процесс форматирования итоговых строк на примере следующего запроса к картотеке населения:

При нажатии на кнопку "Итоги" появляется окно диалога для определения формата итоговых строк:

Окно определения формата итоговых строк содержит две таблицы. Определение формата итоговых строк производится с помощью верхней таблицы. Нижняя таблица определяет вид специальной итоговой результирующей таблицы, формируемой когда запрос исполняется в режиме "Итоги Таблицей".

Итоговые строки в верхней таблице представлены так, как они появляются в таблице результатов и печатном документе - строка общего итога находится в самом низу, выше находится строка итога по населенному пункту, а в верхней строке - строка итога по самой внутренней группировке, в данном случае - по ЛПУ. То есть порядок в этом окне обратный по отношению к порядку строк в списке сортировки.

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

Формат итоговой строки определяется путем размещения в отдельных ячейках строки специальных управляющих шаблонов, которые указывают, какая итоговая информация должна быть вставлена в данную ячейку итоговой строки во время исполнения запроса. Задача данной таблицы - предоставить разработчику запроса возможность изменить содержимое полей итоговых строк так, чтобы в печатном документе была представлена нужная в контексте данного запроса информация.

По умолчанию формат итоговых строк определен так, как это представлено на картинке выше. В левой части строки размещаются шаблоны для вставки идентификационных значений итоговой строки, а в последний столбец - шаблон для формирования там значения, соответствующего числу записей сгруппированных для этой строки.

Форматы по умолчанию всегда можно восстановить, нажав кнопку "По умолчанию" под таблицей слева. С этой кнопкой нужно обращаться аккуратно - при ее нажатии все изменения, внесенные Вами в таблицу определения форматов, будут потеряны!

Форматы итоговых строк, задаваемые по умолчанию, не являются слишком информативными - при их использовании итоговые строки будут лишь показывать число записей в каждой группе отсортированных записей исходного набора данных. Обычно для итоговых строк требуется задать другой формат, что делается путем изменения шаблонов в отдельных полях итоговых строк. Для изменения содержимого поля исходной строки необходимо навести на него указатель мыши и дважды щелкнуть на нем левой её кнопкой.

В результате откроется окно выбора, в котором для данного поля итоговой строки можно выбрать один из предопределенных шаблонов (операций). Выбранные предопределенные шаблоны отображаются в окне форматирования итоговых строк красным шрифтом.

Предопределенные шаблоны будут в процессе выполнения запроса обрабатываться Запросной системой и автоматически заменяться значениями, сформированными в соответствие с типом предопределенного шаблона. Так, например, при использовании шаблона "счетчик" система будет подсчитывать количество записей в текущей группе записей и подставлять их число в соответствующее поле итоговой строки.

Подробное описание допустимых шаблонов и их семантики приведено здесь

К концу страницы К началу страницы

Определение Запроса типа Отчетная форма

Окно редактирования Запросной Формы для Запросов с формированием отчетов выглядит так же, как и для Запросов с подведением Итогов. Различие заключается в использовании таблицы управления Сортировкой данных - в отличие от запросов с подведением итогов в запросах с формированием отчетов таблица управления Сортировкой практически не используется, поскольку, как правило, работа алгоритма формирования отчетных данных не зависит от порядка просмотра записей исходного Набора Данных.

Окно редактирования Запросной Формы

В окне редактирования запроса, созданного как запрос с формированием Отчетных Форм, доступна кнопка "Отчет" в правой части окна между таблицой управления сортировкой и таблицей управления фильтрацией. Эта кнопка предназначена для вызова диалогового Окна Редактирования описания Отчетной Формы.

Окно редактирования описания Отчетной Формы

В нижней части окна Редактирования описания Отчетной Формы представлена отчетная форма, которая должна формироваться данным запросом. Это таблица с именованными столбцами и строками. В верхней части диалогового окна представлены два окна для определения Дерева Приняти Решений.

Изменение структуры Отчетной Таблицы

Структура Отчетной Таблицы зависится от целей, для которых составляется отчет и от внешних требований к нему. По умолчанию Отчетная Таблица включает два столбца и две строки со стандартными именами. Для изменения состава строк и столбцов используются кнопки стандартных для Менеджера Данных операций редактирования структуры таблиц.

Кнопки стандартных операций редактирования таблиц слева от отчетной таблицы предназначены для изменения числа, состава и последовательности строк. С их помощью можно добавить или удалить строку, создать ее копию, сдвинуть выделенную строку в таблице выше или ниже.

Кнопки стандартных операций редактирования таблиц, расположенные над отчетной таблицей слева, предназначены для изменения состава и последовательности столбцов в Отчетной Таблице. С их помощью можно добавить или удалить столбец, создать его копию, сдвинуть выделенный столбец в таблице влево или вправо.

Наименования столбцов и строк отчетной таблицы редактируются непосредственно, в заголовочных ячейках таблицы (ячейках с зеленоватым фоном). Чтобы войти в режим редактирования имени строки/столбца нужно дважды щелкнуть левой кнопкой мыши на соответствующей ячейке.

Изменение наименования строки

В данном случае мы изменили отчетную таблицу, добавив в неё одну строку и один столбец, а также поменяв их наименования.

Дерево Принятия Решений

Отчетная таблица заполняется в процессе исполнения запроса путем просмотра записей исходного набора данных, их анализа и обработки на основе дерева принятия решений.

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

Вообще говоря, для формирования значения в конкретной ячейке отчетной таблицы необходимо отобрать записи исходного набора данных, влияющие на формирование значения в этой ячейке, и последовательно обработать эти записи с целью формирования итогового значения.

Способ формирования значения в той или иной целевой ячейке отчетной таблицы может быть задан в виде формулы обработки, в которой можно использовать поля обрабатываемой записи, а также предыдущее значение целевой ячейки. То есть значение в каждой ячейке отчета может формироваться инкрементально на основе соответствующей этой ячейке обрабатывающей формулы, которая применяется ко всем отобранным для этой ячейки записям.

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

Время выполнения запроса можно резко сократить, если организовать логические проверки в виде дерева - на первом, верхнем уровне дерева проверок (дерева принятия решений) с помощью простых проверок можно разбивать все ячейки таблицы на большие группы, например - на группы строк. Затем, уровнем ниже - для каждой группы строк проверять записи, отобранные для этой группы, на соответствие условиям значимости этой записи для отдельных строк. Следующий уровень дерева проверок может отбирать записи для групп столбцов (полей) в рамках этой строки, и далее - для конкретной ячейки.

Организация набора проверок для выбора целевой ячейки в виде дерева обеспечивает высокую скорость формирования отчетов даже в случае больших наборов данных (сотни тысяч записей) и при большом многообразии проверок (большой отчетной таблице).

Алгоритм формирования значения в целевой ячейке отчетной таблицы, как уже говорилось, задается в виде произвольной формулы, в которой в качестве аргументов можно использовать поля анализируемой записи, а также текущее значение целевой ячейки. Таким образом, значение в каждой ячейке отчета формируется инкрементально путем обработки каждой отобранной записи по обрабатывающей формулы для этой ячейки.

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

Типовые фрагменты Дерева Принятия Решений

При больших размерах отчетной таблицы составление дерева принятия решений для отчета становится весьма объёмной задачей. Однако, трудозатраты можно сократить, если не описывать несколько раз повторяющиеся фрагменты дерева принятия решений. Действительно, даже в нашем примере, если записи уже отобраны, их обработка для всех строк отчета производится одним и тем же способом. Логично, поэтому, описать поддерево для обработки строки в качестве типового фрагмента и использовать его для обработки каждой строки.

Таким образом, дерево принятия решений разбивается на корневую, главную часть и несколько типовых именованных фрагментов, которые можно вызывать (подсоединять к главной части) из узлов главной части (вообще говоря, также и из любых других узлов - вложенные фрагменты тоже допускаются).

Поэтому, для определения дерева принятия решений в окне редактирования отчетной формы предназначены два окна расположенных наверху - окно списка типовых фрагменов в левой части и окно определения структуры выбранного фрагмента дерева принятия решений (окно дерева разбора) в правой части окна редактирования.

Окно редактирования Отчетной Формы

По умолчанию при создании отчетной формы создается два фрагмента дерева - корневой фрагмент с именем main и фрагмент для обработки строк, именованный как line. Для определения дерева принятия решений для нашего примера этого достаточно, но в случае необходимости можно добавить в список дополнительные фрагменты, используя клавиши стандартных операций редактирования построчного состава таблицы, расположенные слева от списка фрагментов.

При селектировании какого-то фрагмента в списке фрагментов его структура в виде дерева немедленно отображается справа в окне дерева разбора, становясь доступной для редактирования.

Определение свойств узла Дерева Принятия Решений

При селектировании некоторого узла дерева разбора становятся доступными для редактирования поля, представляющие свойства этого узла - они расположены ниже окна дерева разбора. Для каждого узла дерева принятия решений могут быть указаны:

  • координаты ячейки отчета - строка и/или столбец, определяющие положение ячейки или группы ячеек отчетной таблицы;
  • условие (логическая формула) - логическое условие для отбора записей, подлежащих обработке для этой группы ячеек отчетной таблицы;
  • формула для ячейки (обрабатывающая формула) - формула, определяющая алгоритм инкрементального формирования значения в целевой ячейке;
  • вызываемый фрагмен дерева разбора - типовой фрагмент дерева принятия решений, который должен быть обработан после этой ячейки при обходе дерева вглубь.

В общем случае для узла дерева принятия решений задаются не все свойства, а лишь некоторые из них.

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

Для конкретного узла определить строку или столбец можно с помощью окна Задания строки/столбца, которое вызывается нажатием кнопки "Изменить поле выбора строки отчета" справа от поля определения строки или кнопки "Изменить поле выбора столбца отчета" справа от поля определения столбца:

Окно изменения строки/столбца

В этом окне имя строки (столбца) можно задать явно, выбрав его из предложенного списка строк (столбцов). Можно сместиться по отчетной таблице вниз или наверх относительно строки, установленной выше уровнем, в родительском узле дерева принятия решений - для этого нужно увеличить или уменьшить индекс строки, установив соответствующий переключатель и указав величину смещения. Наконец, можно оставить установленую выше уровнем строку без изменения.

Возможность указывать строку и столбец не явно по их наименованию, а неявно, как смещение от номера (индекса) базовой строки, полезна для организации типовых фрагментов дерева принятия решений для обработки совпадающих по смыслу групп строк или групп столбцов. Действительно, если в узлах такого типового фрагмента явно указать имена конкретных строк, то этот типовой фрагмент нельзя будет использовать для другой группы "похожих" строк. Проблема, однако, снимается, если в этом типовом фрагменте адресовать строки неявно, как смещения от индекса какой-то базовой строки (например, первой строки этой группы строк), а перед вызовом этого фрагмента задавать базовую строку для группы строк, подлежащих обработке.

Формула логического условия для отбора записей для группы ячеек, соответствующей данному узлу, задается всегда, для каждого узла дерева принятия решений. Определение формулы логического условия производится в стандартном окне определения формул, которое вызывается нажатием кнопки "Изменить логическую формулу, определяющую применимость обработки на этом узле" справа от поля условия.

Окно определения формулы

Если для этой группы ячеек актуальны все записи набора данных, отобранные для родительского узла, то формулой логического условия для данного узла должно быть значение 1 (или "да"). Альтернативно может быть задана произвольная формула, операндами в которой могут быть поля записи обрабатываемого набора данных. Это формула должна возвращать логическое значение "да" в случае, если данная запись подлежит обработке для ячеек, соответствующих данному узлу, и "нет" - в противном случае.

Обрабатывающая формула обычно задается только для конечных узлов дерева (листьев), соответствующим конкретным ячейкам отчетной таблицы. Определение обрабатывающей формулы производится в стандартном окне определения формул, которое вызывается нажатием кнопки "Изменить формулу для формирования значения в данной ячейкее отчета" справа от поля формулы для ячейки.

Окно определения формулы

Особенностью обрабатывающих формул является то, что, в отличие от, например, формул логических условий, аргументом формулы может быть предопределенное поле z, соответствующее значению целевой ячейки на момент начала вычисления формулы. Поскольку значение обрабатывающей формулы после его вычисления записывается в целевую ячейку, а в качестве аргумента в ней можно использовать исходное её значение - с помощью обрабатывающей формулы можно производить инкрементальное формирование итогового отчетного значения в этой ячейке.

Примером обрабатывающей формулы может служить формула z+1 (она по умолчанию задается для узлов фрагмента дерева разбора для столбцов внутри строки). Эта формула обеспечивает для ячейки отчета подсчет количества записей, отобранных для неё логическими формулами дерева принятия решений.

Фрагмент для обработки задается только для узлов дерева, к которым следут подключать стандартные фрагменты дерева разбора из списка фрагментов. Определение вызываемого фрагмента дерева разбора производится посредством нажатия кнопки "Изменить поле выбора фрагмента, дерево разбора которого должно быть обработано для данного узла" справа от поля имени фрагмента для обработки. В открывшемся списке фрагментов нужно выбрать требуемый.

Изменение структуры Дерева Принятия Решений

Дерево Принятия Решений редактируется по-фрагментно путем селектирования нужного фрагмента в списке фрагментов и последующего изменения его структуры посредством кнопок редактирования, расположенных справа от окна представления дерева разбора.

Для добавления узла можно использовать либо кнопку "Добавить новый под-узел для выбранного узла дерева разбора", либо кнопку "Добавить копию выбранного узла в конец списка узлов на том же уровне дерева разбора". Семантика выполняемых операций хорошо описывается названиями этих кнопок.

Кнопки с изображением стрелок служат для перемещения узлов вверх или вниз в рамках того уровня дерева, на котором они находятся.

Следует обратить внимание на то, как идентифицируются отдельные узлы дерева разбора. Текстовая строка, представляющая их "название" состоит из элементов, представляющих свойства узла. Она имеет вид:

условие -> фрагмент(строка,столбец) <- обр.формула

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

Пример структуры Дерева Принятия Решений приведен здесь

К концу страницы К началу страницы

Создание для запросов дополнительных Печатных Форм на основе шаблона, подготовленного в MS Word

Для всех запросов всегда определена Стандартная форма печати результатов, но для запроса могут быть определены также и другие, дополнительные Печатные Формы для представления результатов запроса в виде специализированных печатных документов и последующего вывода их на печать.

При исполнении запроса по результатам обработки исходного набора данных формируется отчетная таблица, которая может быть сохранена на диске в виде самостоятельного набора данных с помощью кнопки "Записать в таблицу". Затем для полученного набора данных может быть создана панель для представления результирующей таблицы в виде отчетного печатного документа, в том числе панель на основе произвольного шаблона, подготовленного в MS Word. После этого этот "результирующий" набор данных и эта печатная форма могут быть использованы неоднократно для оформления и печати результатов запроса в исходном наборе данных - результаты запроса можно записать непосредственно в указанный набор данных, для него вызвать панель печатной формы, которую затем можно распечатать.

Такая процедура печати результатов запроса в Менеджере Данных может быть автоматизирована. Для наборов данных введено понятие дополнительной печатной Отчетной Формы - вспомогательного набора данных с подготовленной панелью печатной формы. Дополнительные печатные Отчетные Формы могут подключаться к запросам и вызываться непосредственно из диалогового окна запроса по нажатию кнопки "Распечатать". При выборе пользователем нужной отчетной формы из списка имеющихся в наличии подключенных Отчетных Форм Менеджер Данных автоматически записывает результаты запроса в набор данных выбранной отчетной формы и вызывает соответствующую панель печатной формы.

Данный механизм позволяет разрабатывать и подключать к различным запросам разнообразные отчетные формы для представления результатов непосредственно в виде печатных документов, требуемых документооборотом.

Таким образом, для создания и подключения к запросу дополнительной печатной Отчетной формы необходимо:

Шаг 1. Исполнить запрос и сохранить его результаты на диске в виде самостоятельного набора данных с помощью кнопки "Записать в таблицу".

Будем предполагать, что мы сохранили результаты запроса с формированием отчета, созданного нами в предыдущем разделе, как набор данных at1_rpt.vmd

Шаг 2. Создать в MS Word шаблон для отчетного печатного документа.

Предположим, что для печати результатов запроса с формированием отчета, созданного нами в предыдущем разделе, мы создали в MS Word следующий шаблон для печати результатов запроса:

Этот шаблон не отличается сложностью - он почти совпадает со стандартной формой печати результата запроса, но для нашего примера это не важно - ясно, что в MS Word возможно создать любую требуемую форму печатного документа.

Теперь мы должны сохранить его на диске как HTML файл. Предположим, это файл "Число больных.htm".

Шаг 3. Для полученного на шаге 1 "результирующего" набора данных создать панель для представления результирующей таблицы в виде отчетного печатного документа на базе HTML файла (шаблона), созданного в MS Word.

Для выполнения шага 3 используется окно свойств результирующего Набора Данных, вызываемое из окна Показа Набора Данных нажатием кнопки "Свойства Набора Данных" в левом верхнем углу окна показа.

Глядя на окно показа "результирующего" набора данных следует обратить внимание на структуру представленной здесь таблицы, представляющей результаты исполнения запроса с формированием отчетной таблицы. Результирующая таблица здесь содержит дополнительный столбец "###", в котором представлены имена строк отчетной таблицы.

Вернемся, однако, к задаче создания панели печатной формы для таблицы отчета. Для создания панели набора данных в окне свойств набора данных нужно нажать кнопку "Создать еще одну панель" справа от поля выбора Пенели для показа/печати.

По этой кнопке открывается диалоговое окно для выбора типа создаваемой панели. Мы должны указать, что хотим создать панель на основе шаблона в виде локального HTML файла и нажать кнопку "Создать". Нам будет предложено указать этот HTML файл в стандартном диалоге выбора файла. После того, как мы укажем, что мы создаем панель на основе файла "Число больных.htm", панель будет создана и открыта во встроенном HTML редакторе Менеджера Данных (редакторе панелей):

Редактор панелей отличается от других HTML редакторов тем, что он способен встраивать в HTML файл панели специальные, специфические для Менеджера Данных визуальные элементы, предназначенные для отображения на панелях управляющих элементов, полей обрабатываемых записей Наборов Данных и целых таблиц. На рисунке выше изображена как раз закладка редактора панелей, позволяющая это сделать.

В данном случае нам нужно заполнить табличными данными (взятыми из Набора Данных) правую нижнюю часть таблицы, имеющейся на панели. Сначала необходимо отметить место вставки табличной информации. Для этого нужно установить курсор на ячейку, отмечающую левый верхний угол области, подлежащей заполнению данными. Это делается наведением указателя мыши на эту ячейку (ячейку на пересечении строки "Всего" и столбца "Всего") и щелчком левой кнопкой мыши. Теперь нужно выбрать вставляемый визуальный элемент - в данном случае нам нужно нажать кнопку "Вставить таблицу Базы Данных (табличный грид)" и в открывшемся диалоговом окне выбрать тип вставляемого табличного элемента.

Мы должны выбрать элемент Table Area - это единственный табличный элемент, позволяющий заполнять встроенную в панель таблицу информацией, "вырезанной" из набора данных (с отсечением некоторый столбцов) - ведь в данном случае нам будет необходимо отсечь первый столбец набора данных, а именно тот, в котором записаны имена строк.

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

Здесь, в поле задания номера крайнего левого столбца, мы должны указать, что отображаемая область начинается со 2-го столбца. Число отображаемых столбцов и строк можно не указывать, поскольку мы собираемся отображать все оставшиеся столбцы и строки таблицы.

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

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

Иногда Редактор Панелей не может правильно разобраться в структуре таблиц используемого шаблона (базового HTML файла). В этом случае возможны сдвиги отображаемых табличных данных во встроенных таблицах. В таких случаях нужно заполнять таблицу несколькими отдельными фрагментами, вставив в нее несколько визуальных элементов для отображения табличной информациию.

Такой же подход используется в случаях, когда нужно отобразить содержимое набора данных, распределив его по нескольким встроенным таблицам - как, например, в случае разбивки печатного документа с длинной таблицей на несколько страниц.

Шаг 4. Подключить созданную панель "результирующего" набора данных к запросу как дополнительную печатную Отчетную форму.

Для выполнения шага 4 используется окно свойств исходного Набора Данных. Вызов окна свойств Набора Данных осуществляется из окна Показа этого Набора Данных:

Для вызова окна свойств Набора Данных нужно нажать кнопку "Свойства Набора Данных" в левом верхнем углу окна показа.

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

Для подключения новой печатной Отчетной Формы следует нажать кнопку "Определить еще одну отчетную форму"

При определении Отчетной Формы Менеджер Данных предлагает указать набор данных, форму доступа в нем и панель, которую необходимо подключить. Если в указанном наборе данных определена единственная форма доступа и единственная панель, то они не запрашиваются.

Для подключенной дополнительной печатной Отчетной формы имеет смысл задать мнемоническое наименование, которое будет высвечиваться Менеджером Данных в списке доступных печатных форм для набора данных при распечатке результатов запроса. Как и для других элементов Набора Данных, это можно сделать в диалоговом окне, вызываемом по кнопке "Свойства отчетной формы"

К концу страницы К началу страницы

Вернуться к Оглавлению К предыдущему разделу К следующему разделу


Все права на материалы, находящиеся на сайте, охраняются в соответствии с действующим законодательством
© C-Rover, 2014