
Урок 2. Просмотр источника данных InfoPath
При создании основного подключения данных между формой InfoPath и базой данных Access в InfoPath создается структура данных, основанная на структуре базы данных Access. А именно, в InfoPath создаются поля и группы, соответствующие полям и группам базы данных. Например, в источнике данных InfoPath создается группа «Товары», соответствующая таблице «Товары» в Access. Каждому полю таблицы «Товары» соответствует некоторое поле в источнике данных InfoPath.
Примечание. Поскольку InfoPath сохраняет данные перед отправкой в Access, можно ввести сведения в форме (при необходимости это можно сделать даже в автономном режиме), а затем, когда все будет готово, отправить сведения в базу данных.
Для основных подключений данных в InfoPath на самом деле создаются две очень похожие структуры данных: набор полей запроса и набор полей данных. Поля запроса используются для ввода значений в форме и составления запроса по базе данных. Поля данных служат для ввода новых записей и изменения существующих записей базы данных. Каждому набору полей соответствуют определенные таблицы и поля в базе данных.
Чтобы лучше понять, как структура данных InfoPath связана со структурой данных Access, внимательно изучите поля данных в своей форме.
Чтобы увидеть поля данных, в области задач Источник данных разверните группу dataFields.
Разверните группу d:Поставщики, а затем группу Товары.
Полученная структура данных должна выглядеть примерно следующим образом:
Обратите внимание, как эта структура данных похожа на две таблицы базы данных Access.
Группа «Поставщики» включает в себя группу «Товары».
Таблица «Поставщики» связана с таблицей «Товары» отношением «один ко многим».
Для каждой таблицы базы данных Access существует соответствующая ей группа в форме InfoPath. Для каждого поля в таблицах Access существует поле в группе InfoPath. Кроме того, группы и поля связаны теми же отношениями, что и поля и таблицы: для каждого поставщика может быть определено несколько товаров.
Урок 3. Разметка формы
Создав форму на основе учебной базы данных Access и познакомившись с источником данных InfoPath, можно приступать к построению разметки формы. Для создания элементов управления, в которые пользователи смогут вводить данные, достаточно перетащить в форму поля и группы из области задач Источник данных. Если перетащить в форму одно поле, будет создан одиночный элемент управления, например текстовое поле. Если перетащить группу полей, InfoPath создаст группу элементов управления, например раздел с набором текстовых полей.
Совет
Тип элемента управления, добавляемого в форму, и режим его работы зависят от типа поля, который в свою очередь определяется на основе конкретного поля в базе данных Access. Например, полю Access с типом данных «Дата» будет соответствовать поле InfoPath также с типом данных «Дата». Если перетащить это поле в форму, в InfoPath по умолчанию будет создан элемент управления «Выбор даты».
Следующим действием будет добавление целой группы полей данных dataFields в форму, что приведет к созданию набора элементов управления в форме. Все ненужные элементы управления можно будет затем удалить. Некоторые элементы управления могут стать не нужны потому, что содержат избыточные сведения, содержимое других элементов управления может оказаться неприменимым к двум используемым таблицам. Например, ненужным будет текстовое поле «Код категории», поскольку оно применяется для установки отношения с таблицей «Категория», которая не используется в этом подключении данных.
Примечание. Удаление элемента управления не приводит к удалению его базового поля в источнике данных. Например, при удалении текстового поля «Код категории» в источнике данных по-прежнему останется поле «КодКатегории» (и оно может содержать данные).
В области задач Источник данных щелкните правой кнопкой мыши группу dataFields и выберите в контекстном меню команду Раздел с элементами управления. В результате в форму будут вставлены элементы управления для всех полей, используемых для добавления и изменения записей.
В форме выделите второй экземпляр текстового поля Код поставщика и текстовое поле Код категории, включая их подписи, и нажмите клавишу DELETE.
В InfoPath разрешено создание нескольких записей путем использования повторяющихся разделов (Повторяющийся раздел. Элемент управления в форме, который содержит другие элементы управления и повторяется по мере необходимости. Пользователи могут вставлять повторяющиеся разделы при заполнении формы.). В данной форме пользователь может ввести нескольких поставщиков, а также несколько товаров для каждого поставщика. Это отражено в структуре элементов управления формы — элементы управления «Товары» находятся в повторяющемся разделе, который содержится в повторяющемся разделе «Поставщики», как показано в следующем примере:
Чтобы пользователям было легче работать с этими повторяющимися разделами, добавьте в них границы и заливку, вставьте названия и удалите пустые области, воспользовавшись следующей процедурой.
Щелкните правой кнопкой мыши вторую подпись Повторяющийся раздел в созданной форме и выберите в контекстном меню команду Границы и заливка.
На вкладке Границы диалогового окна Границы и заливка выберите нужный цвет в области Цвет.
В списке Ширина выберите 3 пт.
В группе Все щелкните Структура и нажмите кнопку ОК.
Щелкните правой кнопкой мыши первую подпись Повторяющийся раздел в созданной форме и выберите в контекстном меню команду Границы и заливка.
В диалоговом окне Границы и заливка перейдите на вкладку Заливка и выберите нужный цвет в области Цвет.
Нажмите кнопку ОК.
В форме введите имя ПОСТАВЩИКИ перед повторяющимся разделом «Поставщики» и выделите это имя полужирным шрифтом.
Введите имя ТОВАРЫ перед повторяющимся разделом «Товары» и выделите это имя полужирным шрифтом.
Теперь форма выглядит следующим образом:
Когда новая запись отправляется в базу данных Access путем ввода данных в форме, в Access автоматически создается код поставщика. Поэтому пользователям не нужно будет самим изменять код поставщика или вводить новый, т. е. текстовое поле «Код поставщика» можно сделать доступным только для чтения, чтобы пользователи не пытались изменять это значение. Чтобы сделать текстовое поле «Код поставщика» доступным только для чтения, выполните следующие действия:
Дважды щелкните текстовое поле Код поставщика.
В диалоговом окне Свойства текстового поля перейдите на вкладку Отображение и установите флажок Только чтение.
Разметка представления ввода данных для формы завершена. Теперь можно приступать к работе с представлением запроса, в котором пользователи могут вводить значения, запрашивая существующие записи в базе данных.