Створення каскадного списку

Каскадні списки пришвидшують заповнення форм і допомагають користувачам вводити дані без помилок. У цій статті описано, як створити каскадні списки та заповнити їх даними. У програмі Microsoft Office InfoPath можна заповнити список даними, які використовують значення з форми, із зовнішнього документа розширюваної мови розмітки (XML) або з бази даних Microsoft Office Access.

У цій статті

Відомості про каскадний список

Крок 1. Вставлення каскадного списку

Крок 2. Надання даних

Відомості про каскадний список

Каскадний список – це список варіантів, які змінюються залежно від значення, яке користувач вибирає в іншому списку. Наприклад, якщо в полі Категорії (на ілюстрації нижче) користувач вибере пункт Приправи, то в полі Продукти відобразиться список приправ.

Приклад каскадного списку

У розділах нижче показано, як створити шаблон форми з двома каскадними списками так, щоб другий список фільтрувався на основі значення, яке користувач вибере в першому. Коли змінюється значення в першому списку, до другого автоматично застосовується фільтр, змінюючи значення в ньому.

Можливості сумісності

Фільтри можна використовувати лише в шаблонах форм, які заповнюватимуться в програмі InfoPath. Фільтри недоступні в шаблонах форм, сумісних із браузером.

На початок сторінки

Крок 1. Вставлення каскадного списку

Щоб створити каскадний список, до шаблону форми необхідно додати два списки.

Примітка : Вставляючи каскадний список у шаблоні форми, перевірте, чи ці два списки не розташовано в повторюваному розділі чи повторюваній таблиці.

  1. Якщо область завдань Елементи керування не відображається, у меню Вставлення виберіть пункт Інші елементи керування або натисніть клавіші Alt+I, C.

  2. В області завдань Елементи керування в розділі Додавання елементів керування виберіть пункт Розкривний список. Коли користувач заповнюватиме форму на основі вашого шаблону, його вибір у цьому розкривному списку визначатиме варіанти, доступні в другому списку.

  3. Виберіть пункт Список. Тепер шаблон форми має містити один розкривний і один стандартний списки.

    Розкривний і стандартний списки у формі

  4. Двічі клацніть розкривний список, вставлений у шаблон форми на кроці 2.

  5. У діалоговому вікні Властивості розкривного списку перейдіть на вкладку Дані.

  6. У полі Ім’я поля введіть listBox1 і натисніть кнопку OK.

  7. Двічі клацніть список, вставлений у шаблон форми на кроці 3.

  8. У діалоговому вікні Властивості списку перейдіть на вкладку Дані.

  9. У полі Ім’я поля введіть listBox2Cascade і натисніть кнопку OK.

На початок сторінки

Крок 2. Надання даних

Тепер, коли ви вже додали списки до шаблону форми, необхідно надати дані, які в них відображатимуться. Потім потрібно застосувати фільтр, щоб варіанти в другому списку відображалися на основі вибору користувача в першому.

У цьому розділі пояснюється, як підключити списки до даних трьома основними способами: додавши дані до самої форми; підключивши форму до наявного XML-документа, що містить дані; чи підключивши форму до бази даних, що містить дані. Щоб завершити створення каскадного списку, клацніть потрібний спосіб у списку нижче.

Підключення до даних у формі

Підключення до зовнішнього XML-документа

Підключення до бази даних

Підключення до даних у формі

У цьому розділі ви дізнаєтеся, як заповнити список даними з форми. Для цього потрібно спочатку настроїти поля в шаблоні форми так, щоб ви могли вводити імена категорій і набір продуктів для кожної з них.

Настроювання полів у шаблоні форми

  1. Якщо область завдань Джерело даних не відображається, у меню Вигляд виберіть пункт Джерело даних.

  2. В області завдань Джерело даних клацніть правою кнопкою миші групу myFields і виберіть команду Додати.

  3. У діалоговому вікні Додавання поля або групи в полі Ім’я введіть CategoriesAndProducts.

  4. У списку Тип виберіть пункт Група.

  5. Установіть прапорець Повторюється, а потім натисніть кнопку OK.

  6. В області завдань Джерело даних клацніть правою кнопкою миші групу CategoriesAndProducts.

  7. У діалоговому вікні Додавання поля або групи в полі Ім’я введіть Category, а потім натисніть кнопку OK. Це поле буде містити імена категорій для першого списку.

  8. Клацніть правою кнопкою миші групу CategoriesAndProducts, а потім натисніть кнопку Додати.

  9. У діалоговому вікні Додавання поля або групи в полі Ім’я введіть Product.

  10. Установіть прапорець Повторюється, а потім натисніть кнопку OK. Це поле міститиме назви продуктів для другого списку.

Оскільки цей список заповнюється даними з форми, ці дані потрібно додати до форми. Для цього вам доведеться створити значення за замовчуванням для полів Product і Category.

Порада

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

Створення значень за замовчуванням

  1. У меню Знаряддя виберіть пункт Значення за промовчанням.

  2. У діалоговому вікні Змінення значень за промовчанням у групі CategoriesAndProducts виберіть поле Category (не знімайте прапорця), а потім у полі Значення за промовчанням введіть Морепродукти.

  3. Виберіть поле Product (не знімайте прапорця), а потім у полі Значення за промовчанням введіть Крабове м’ясо.

  4. Правою кнопкою миші клацніть поле Product і виберіть команду Додати ще один пункт "Product" вище. Це дасть вам змогу додати другий продукт для категорії "Морепродукти" як значення за замовчуванням.

  5. Правою кнопкою мишу клацніть другий екземпляр поля Product (не знімайте прапорця), а потім у полі Значення за промовчанням введіть Лосось.

  6. Правою кнопкою мишу клацніть групу CategoriesAndProducts і виберіть команду Додати ще один пункт "CategoriesAndProducts" нижче. Це дасть вам змогу додати другу категорію як значення за замовчуванням.

  7. Повторіть описані вище кроки, щоб указати такі значення за замовчуванням для другого екземпляра полів Category та Product: Молочні продукти, Чеддер і Шоколадне молоко відповідно.

  8. Натисніть кнопку OK.

Тепер, коли ви вже ввели значення за замовчуванням для полів Product і Category, можна підключити перший список до даних, які ви щойно ввели.

Підключення першого списку до даних

  1. У шаблоні форми двічі клацніть розкривний список, вставлений раніше.

  2. Перейдіть на вкладку Дані.

  3. У діалоговому вікні Властивості розкривного списку в розділі Елементи списку виберіть параметр Пошук значень у джерелі даних форми.

  4. Натисніть кнопку Вибрати XPath Кнопка "Джерело даних" поруч із полем Записи.

  5. У діалоговому вікні Вибір поля або групи в групі CategoriesAndProducts клацніть поле Category, а потім два рази натисніть кнопку OK.

Тепер необхідно підключити до даних другий список. Коли ви створюватимете цей зв’язок даних, вам знадобиться застосувати фільтр до другого списку. Цей фільтр заповнить другий список відповідними продуктами залежно від категорії, вибраної в першому. Фільтр порівнює значення, вибране в першому списку (поле "listBox1"), зі списком категорій, збережених у формі (поле "Category").

Підключення другого списку до даних

  1. У шаблоні форми двічі клацніть стандартний список, вставлений раніше.

  2. Перейдіть на вкладку Дані.

  3. У діалоговому вікні Властивості списку в розділі Елементи списку виберіть параметр Пошук значень у джерелі даних форми.

  4. Натисніть кнопку Вибрати XPath Кнопка "Джерело даних" поруч із полем Записи.

  5. У діалоговому вікні Вибір поля або групи в групі CategoriesAndProducts клацніть поле Product, а потім натисніть кнопку Фільтрувати дані.

  6. У діалоговому вікні Фільтрування даних натисніть кнопку Додати.

  7. У діалоговому вікні Визначення умов фільтрування в першому полі виберіть пункт Вибрати поле або групу.

  8. У діалоговому вікні Вибір поля або групи виберіть пункт listBox1 і натисніть кнопку OK.

  9. У діалоговому вікні Визначення умов фільтрування в третьому полі виберіть пункт Вибрати поле або групу.

  10. У діалоговому вікні Вибір поля або групи клацніть поле Category, а потім натискайте кнопку OK, доки не буде закрито всі відкриті діалогові вікна.

Тепер, коли другий список підключено до даних, а фільтр застосовано, час перевірити роботу списків.

Перевірка списків

  1. Щоб перевірити зміни, на панелі інструментів Стандартна натисніть кнопку Попередній перегляд або натисніть клавіші Ctrl+Shift+B.

  2. У розкривному списку виберіть пункт Морепродукти. У стандартному списку має відображатися пустий рядок, Крабове м’ясо та Лосось.

    Примітка : Пустий рядок дає змогу користувачам скасувати свій вибір у списку.

Якщо списки не працюють належним чином, перевірте фільтр для другого списку, щоб переконатися, що він порівнює поле listBox1 із полем Category.

На початок розділу

Підключення до зовнішнього XML-документа

У цьому розділі ви дізнаєтеся, як створити зв’язок даних з XML-документом, який містить значення продукту та категорії. XML-документ буде додатковим джерелом даних. Щоб створити цей зв’язок даних, потрібно створити XML-документ, пов’язати з ним списки в шаблоні форми, а потім застосувати фільтр до другого списку так, щоб список продуктів змінювався відповідно.

Перш ніж ви зможете пов’язати форму з додатковим джерелом даних, знадобиться створити XML-документ.

Створення XML-документа

  1. Запустіть Блокнот або інший текстовий редактор.

  2. Скопіюйте та вставте в текстовий редактор такі дані XML:

    <?xml version="1.0" encoding="UTF-8"?>
    <ListBoxData>
    <CategoriesAndProducts>
    <Categories>Seafood</Categories>
    <Products>
    <Product>Crab meat</Product>
    </Products>
    <Products>
    <Product>Salmon</Product>
    </Products>
    </CategoriesAndProducts>
    <CategoriesAndProducts>
    <Categories>Dairy</Categories>
    <Products>
    <Product>Chocolate milk</Product>
    </Products>
    <Products>
    <Product>Cheddar</Product>
    </Products>
    </CategoriesAndProducts>
    </ListBoxData>
  3. Збережіть файл на комп’ютері як listBoxData.xml.

Тепер створений XML-документ можна підключити до шаблону форми. Буде створено додаткове джерело даних.

Підключення XML-документа до шаблону форми

  1. У меню Знаряддя виберіть пункт Зв’язки даних.

  2. У діалоговому вікні Зв’язки даних натисніть кнопку Додати.

  3. У майстрі зв’язків даних виберіть пункт Отримання даних і натисніть кнопку Далі.

  4. На наступній сторінці майстра виберіть пункт XML-документ і натисніть кнопку Далі.

  5. На наступній сторінці майстра натисніть кнопку Огляд, виберіть файл listBoxData.xml, збережений на комп’ютері, а потім натисніть кнопку Відкрити.

  6. На наступній сторінці майстра виберіть параметр Долучити дані як файл ресурсів шаблону форми або частину шаблону, а потім натисніть кнопку Далі.

  7. На наступній сторінці майстра в полі Введіть ім’я цього зв’язку даних введіть listBoxDataXMLFile.

  8. Установіть прапорець Автоматично отримувати дані під час відкриття форми. Завдяки цьому дані списку будуть завжди доступні, коли користувач відкриває форму, і йому не доведеться щоразу запитувати їх.

  9. Натисніть кнопку Готово.

  10. У діалоговому вікні Зв’язки даних натисніть кнопку Закрити.

Тепер ви готові підключити перший список у шаблоні форми до даних в XML-документі.

Підключення першого списку до даних

  1. У шаблоні форми двічі клацніть розкривний список, вставлений раніше.

  2. Перейдіть на вкладку Дані.

  3. У діалоговому вікні Властивості розкривного списку в розділі Елементи списку виберіть параметр Пошук значень у зовнішньому джерелі даних.

  4. У полі Джерело даних виберіть файл listBoxDataXMLFile.

  5. Натисніть кнопку Вибрати XPath Кнопка "Джерело даних" поруч із полем Записи.

  6. У діалоговому вікні Вибір поля або групи в групі CategoriesAndProducts клацніть поле Categories.

    Примітка : Жовтий фон діалогового вікна Вибір поля або групи вказує на те, що ви працюєте з додатковим джерелом даних.

  7. Два рази натисніть кнопку OK.

Тепер потрібно підключити другий список до XML-документа. Коли ви створюватимете цей зв’язок даних, вам знадобиться застосувати фільтр до другого списку. Цей фільтр заповнить другий список відповідними продуктами залежно від категорії, вибраної в першому. Фільтр порівнює значення, вибране в першому списку (поле "listBox1"), зі списком категорій, збережених у формі (поле "Category").

Підключення другого списку до даних

  1. У шаблоні форми двічі клацніть стандартний список, вставлений раніше.

  2. Перейдіть на вкладку Дані.

  3. У діалоговому вікні Властивості списку в розділі Елементи списку виберіть параметр Пошук значень у зовнішньому джерелі даних.

  4. У полі Джерело даних виберіть файл listBoxDataXMLFile.

  5. Натисніть кнопку Вибрати XPath Кнопка "Джерело даних" поруч із полем Записи.

  6. У діалоговому вікні Вибір поля або групи в групі CategoriesAndProducts розгорніть групу Products, а потім клацніть поле Product.

  7. Натисніть кнопку Фільтрувати дані.

  8. У діалоговому вікні Фільтрування даних натисніть кнопку Додати.

  9. У діалоговому вікні Визначення умов фільтрування в першому полі виберіть пункт Вибрати поле або групу.

  10. У діалоговому вікні Вибір поля або групи в полі Джерело даних виберіть пункт Головне.

  11. Виберіть поле listBox1 і натисніть кнопку OK.

  12. У діалоговому вікні Визначення умов фільтрування в третьому полі виберіть пункт Вибрати поле або групу.

  13. У діалоговому вікні Вибір поля або групи в полі Джерело даних виберіть пункт listBoxDataXMLFile (Допоміжне), а потім виберіть пункт Categories.

  14. Натискайте кнопку OK, доки не буде закрито всі відкриті діалогові вікна.

Тепер, коли другий список підключено до XML-документа, а фільтр застосовано, час перевірити роботу списків.

Перевірка списків

  1. Щоб перевірити зміни, на панелі інструментів Стандартна натисніть кнопку Попередній перегляд або натисніть клавіші Ctrl+Shift+B.

  2. У розкривному списку виберіть пункт Морепродукти. У стандартному списку має відображатися лише пустий рядок, "Крабове м’ясо" та "Лосось".

    Примітка : Пустий рядок дає змогу користувачам скасувати свій вибір у списку.

Якщо списки не працюють належним чином, перевірте фільтр для другого списку, щоб переконатися, що він порівнює поле listBox1 із полем Category.

На початок розділу

Підключення до бази даних

У цьому розділі ви дізнаєтеся, як створити зв’язок даних із двома таблицями в базі даних Access. Для цього потрібно пов’язати списки в шаблоні форми з базою даних, а потім застосувати фільтр до другого списку так, щоб другий список змінювався залежно від значення, вибраного в першому. Для цього прикладу припустимо, що база даних Access містить дві таблиці під назвами "Categories" і "Products", а також що ці дві таблиці пов’язано між собою за полем "CategoryID", яке використовується в кожній таблиці.

Таблиця "Categories"    

CategoryID

CategoryName

1

Морепродукти

2

Молочні продукти

Таблиця "Products"    

ProductID

CategoryID

ProductName

1

1

Крабове м’ясо

2

1

Лосось

3

2

Шоколадне молоко

4

2

Чеддер

Підключення шаблону форми до джерела даних

Спочатку потрібно створити зв’язок даних між шаблоном форми й таблицями в базі даних. Оскільки ви лише відображаєте дані з бази даних, а не змінюєте їх безпосередньо, то база даних Access буде додатковим джерелом даних для шаблону форми.

  1. У меню Знаряддя виберіть пункт Зв’язки даних.

  2. У діалоговому вікні Зв’язки даних натисніть кнопку Додати.

  3. У майстрі зв’язків даних виберіть пункт Отримання даних і натисніть кнопку Далі.

  4. На наступній сторінці майстра виберіть пункт База даних (лише Microsoft SQL Server або Microsoft Office Access), а потім натисніть кнопку Далі.

  5. На наступній сторінці майстра натисніть кнопку Вибрати базу даних, а потім знайдіть потрібну базу даних Access на жорсткому диску та двічі клацніть.

  6. У діалоговому вікні Вибір таблиці клацніть таблицю, що містить дані, які потрібно відображати в першому списку (у цьому прикладі – таблиця "Categories"), а потім натисніть кнопку OK. Цю таблицю буде визначено головною для зв’язку даних.

  7. У майстрі натисніть кнопку Додати таблицю.

  8. У діалоговому вікні Додавання таблиці або запиту клацніть таблицю, що містить дані, які потрібно відображати в другому списку (у цьому прикладі – таблиця "Products"), а потім натисніть кнопку Далі.

  9. У діалоговому вікні Змінення зв’язку перевірте, чи правильно вказано поля з’єднання. У цьому прикладі таблиці пов’язано між собою полем "CategoryID".

    Порада : Якщо поля з’єднання вказано неправильно, виберіть їх і натисніть кнопку Видалити зв’язок. Потім натисніть кнопку Додати зв’язок, виберіть правильні поля та натисніть кнопку OK.

  10. Натисніть кнопку Готово.

    Примітка : У цьому прикладі таблиця категорій має з таблицею продуктів зв’язок "один до багатьох", тобто для кожної категорії може бути кілька продуктів. У базі даних цей тип зв’язку зазвичай установлюється за допомогою ключових полів. У цьому випадку ключове поле "CategoryID" дає змогу програмі Access пов’язати правильний набір продуктів із відповідною категорією.

  11. У вікні майстра перевірте структуру джерела даних. Ви маєте бачити дві таблиці, пов’язані між собою: головну та додаткову. Щоб переглянути окремі поля в таблиці, установіть прапорець Відображати стовпці таблиці. Перевіривши структуру даних, натисніть кнопку Далі.

  12. Зніміть прапорець Зберегти копію даних у шаблоні форми та натисніть кнопку Далі.

  13. На наступній сторінці майстра в полі Введіть ім’я цього зв’язку даних введіть ім’я для цього зв’язку даних.

  14. Установіть прапорець Автоматично отримувати дані під час відкриття форми.

  15. У діалоговому вікні Зв’язки даних натисніть кнопку Готово, а потім – Закрити.

Підключення першого списку до даних

Тепер, коли ви створили зв’язок даних із додатковим джерелом даних, можна підключити перший список у шаблоні форми до таблиць у базі даних.

  1. У шаблоні форми двічі клацніть розкривний список, вставлений раніше.

  2. Перейдіть на вкладку Дані.

  3. У діалоговому вікні Властивості розкривного списку в розділі Елементи списку виберіть параметр Пошук значень у зовнішньому джерелі даних.

  4. Переконайтеся, що в полі Джерело даних вибрано зв’язок даних, який ви створили.

  5. Натисніть кнопку Вибрати XPath Кнопка "Джерело даних" поруч із полем Записи.

  6. У діалоговому вікні Вибір поля або групи клацніть ім’я таблиці, що містить дані, які потрібно відображати в розкривному списку (у цьому прикладі – таблиця d:Categories), а потім натисніть кнопку OK.

    Примітка : Жовтий фон діалогового вікна Вибір поля або групи вказує на те, що ви працюєте з додатковим джерелом даних.

  7. Натисніть кнопку Вибрати XPath Кнопка "Джерело даних" поруч із полем Значення.

  8. Переконайтеся, що в діалоговому вікні Вибір поля або групи вибрано поле з’єднання (у цьому прикладі – :CategoryID), а потім натисніть кнопку OK. Це значення, яке буде збережено, коли користувач зробить свій вибір у списку.

  9. Натисніть кнопку Вибрати XPath Кнопка "Джерело даних" поруч із полем Коротке ім’я.

  10. У діалоговому вікні Вибір поля або групи клацніть ім’я поля, яке потрібно відображати в розкривному списку (у цьому прикладі :CategoryName).

  11. Два рази натисніть кнопку OK.

Підключення другого списку до даних

Тепер потрібно підключити другий список до бази даних. Коли ви створюватимете цей зв’язок даних, вам знадобиться застосувати фільтр до другого списку. Цей фільтр заповнить другий список відповідними значеннями залежно від значення, вибраного в першому списку.

  1. У шаблоні форми двічі клацніть стандартний список.

  2. Перейдіть на вкладку Дані.

  3. У діалоговому вікні Властивості списку в розділі Елементи списку виберіть параметр Пошук значень у зовнішньому джерелі даних.

  4. Переконайтеся, що в полі Джерело даних вибрано зв’язок даних, який ви створили.

  5. Натисніть кнопку Вибрати XPath Кнопка "Джерело даних" поруч із полем Записи.

  6. У діалоговому вікні Вибір поля або групи розгорніть основну групу (у цьому прикладі – d:Categories), а потім клацніть допоміжну групу, що відповідає таблиці з даними, які потрібно відображати в каскадному списку (у цьому прикладі – Products).

  7. Натисніть кнопку Фільтрувати дані.

  8. У діалоговому вікні Фільтрування даних натисніть кнопку Додати.

  9. У діалоговому вікну Визначення умов фільтрування в першому полі переконайтеся, що вибрано поле з’єднання з допоміжної таблиці (у цьому прикладі – Products).

    Увага! : Поля з’єднання мають однакові назви в обох таблицях, тому переконайтеся, що вибрали правильне. Поля з кожної таблиці сортуються разом у списку. Таким чином, ви можете використати суміжні імена полів, щоб визначити, котре з них вам потрібне. У цьому прикладі вибираємо поле "CategoryID", яке відображається разом з іншими полями з таблиці "Products".

  10. У третьому полі виберіть команду Вибрати поле або групу.

  11. У діалоговому вікні Вибір поля або групи в полі Джерело даних виберіть пункт Головне, клацніть поле listBox1, а потім натисніть кнопку OK.

    Ви щойно налаштували фільтр, який порівнює значення, вибране в розкривному списку (поле "listBox1") зі списком значень у стандартному списку.

  12. Тричі натисніть кнопку OK, щоб повернутися до діалогового вікна Властивості списку.

  13. Натисніть кнопку Вибрати XPath Кнопка "Джерело даних" поруч із полем Значення.

  14. У діалоговому вікні Вибір поля або групи виберіть значення, яке потрібно зберегти, коли користувач зробить свій вибір у списку. У цьому прикладі ми хочемо, щоб для подальшого використання зберігалося поле "ProductID". Таким чином, вибираємо групу :ProductID та натискаємо кнопку OK.

  15. Натисніть кнопку Вибрати XPath Кнопка "Джерело даних" поруч із полем Коротке ім’я.

  16. У діалоговому вікні Вибір поля або групи клацніть ім’я поля, яке потрібно відображати в списку (у цьому прикладі – :ProductName).

  17. Два рази натисніть кнопку OK.

Перевірка списків

Тепер, коли другий список підключено до бази даних, а фільтр застосовано, час перевірити роботу списків.

  1. Щоб перевірити зміни, на панелі інструментів Стандартна натисніть кнопку Попередній перегляд або натисніть клавіші Ctrl+Shift+B.

  2. У розкривному списку виберіть значення. У стандартному списку мають відображатися відповідні значення з допоміжної таблиці залежно від того, яке поле з’єднання ви вибрали.

Порада : Якщо списки не працюють належним чином, перевірте фільтр для другого списку, щоб переконатися, що він порівнює поле listBox1 із полем CategoryID.

На початок розділу

На початок сторінки

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×