Важливо
Підтримка Microsoft InfoPath 2013 завершилася 14 липня 2026 р. Радимо перенести наявні форми та робочі цикли InfoPath до підтримуваних рішень Microsoft 365. Дізнайтеся більше про припинення підтримки InfoPath.
Каскадні списки пришвидшують заповнення форм і допомагають користувачам вводити дані без помилок. У цій статті описано, як створити каскадні списки та заповнити їх даними. У програмі Microsoft Office InfoPath можна заповнити список даними, які використовують значення з форми, із зовнішнього документа розширюваної мови розмітки (XML) або з бази даних Microsoft Office Access.
У цій статті
Відомості про каскадний список
Каскадний список – це список варіантів, які змінюються залежно від значення, яке користувач вибирає в іншому списку. Наприклад, якщо в полі "Категорії", показаному на ілюстрації нижче, користувач вибере пункт "Приправи", то в полі "Продукти" відобразиться список приправ.
У розділах нижче показано, як створити шаблон форми з двома каскадними списками так, щоб другий список фільтрувався на основі значення, яке користувач вибере в першому. Коли змінюється значення в першому списку, до другого автоматично застосовується фільтр, змінюючи значення в ньому.
Зауваження щодо сумісності
Фільтри можна використовувати лише в шаблонах форм, які заповнюватимуться в програмі InfoPath. Фільтри недоступні в шаблонах форм, сумісних із браузером.
Крок 1. Вставлення каскадного списку
Щоб створити каскадний список, до шаблону форми необхідно додати два списки.
Примітка.
Вставляючи каскадний список у шаблон форми, переконайтеся, що два списки не належать до повторюваного розділу або повторюваної таблиці.
- Якщо область завдань Елементи керування не відображається, у меню Вставлення виберіть пункт Інші елементи керування або натисніть клавіші Alt+I, C.
- У розділі " Додавання елементів керування" в області завдань "Елементи керування " виберіть пункт "Розкривний список". Коли користувач заповнюватиме форму на основі вашого шаблону, його вибір у цьому розкривному списку визначатиме варіанти, доступні в другому списку.
- Виберіть пункт "Список". Тепер шаблон форми має містити один розкривний і один стандартний списки.
- Двічі клацніть розкривний список, вставлений у шаблоні форми на кроці 2.
- У діалоговому вікні "Властивості" в розкривному списку перейдіть на вкладку " Дані ".
- У полі "Ім'я поля" введіть "listBox1" і натисніть кнопку "OK".
- Двічі клацніть список, вставлений у шаблон форми на кроці 3.
- У діалоговому вікні " Властивості списку " перейдіть на вкладку " Дані ".
- У полі "Ім'я поля" введіть "listBox2Cascade" та натисніть кнопку "OK".
Крок 2. Надання даних
Тепер, коли ви вже додали списки до шаблону форми, необхідно надати дані, які в них відображатимуться. Потім потрібно застосувати фільтр, щоб варіанти в другому списку відображалися на основі вибору користувача в першому.
У цьому розділі пояснюється, як підключити списки до даних трьома основними способами: додавши дані до самої форми; підключення форми до наявного XML-документа, що містить дані; або підключення форми до бази даних, яка містить дані. Щоб завершити створення каскадного списку, клацніть потрібний спосіб у списку нижче.
Підключення до даних у формі
У цьому розділі ви дізнаєтеся, як заповнити список даними з форми. Для цього потрібно спочатку настроїти поля в шаблоні форми так, щоб ви могли вводити імена категорій і набір продуктів для кожної з них.
Настроювання полів у шаблоні форми
- Якщо область завдань «Джерело даних» не відображається, виберіть у меню «Вигляд» пункт «Джерело даних».
- В області завдань "Джерело даних " клацніть правою кнопкою миші групу myFields і виберіть команду "Додати".
- У діалоговому вікні "Додавання поля або групи" в полі "Ім'я" введіть "CategoriesAndProducts".
- У списку Тип виберіть команду Групувати.
- Установіть прапорець "Повторювати", а потім натисніть кнопку "OK".
- В області завдань " Джерело даних " клацніть правою кнопкою миші групу "CategoriesAndProducts ".
- У діалоговому вікні "Додавання поля або групи" в полі "Ім'я" введіть "Категорія" та натисніть кнопку "OK". Це поле буде містити імена категорій для першого списку.
- Клацніть правою кнопкою миші групу "CategoriesAndProducts " і виберіть команду "Додати".
- У діалоговому вікні "Додавання поля або групи" в полі "Ім'я" введіть "Продукт".
- Установіть прапорець "Повторювати", а потім натисніть кнопку "OK". Це поле міститиме назви продуктів для другого списку.
Оскільки цей список заповнюється даними з форми, ці дані потрібно додати до форми. Для цього потрібно створити значення за замовчуванням для полів "Продукт " і "Категорія ".
Порада
Ви також можете створити списки, що відображають значення, які користувачі самі вводять у форму. Для цього пов'яжіть список із полями, прив'язаними до елементів керування у формі. Коли користувач вводитиме значення в елементи керування, варіанти в списку змінюватимуться.
Створення значень за замовчуванням
- У меню "Сервіс " виберіть пункт "Значення за промовчанням".
- У діалоговому вікні " Редагування значень за промовчанням " у групі "CategoriesAndProducts " виберіть поле "Category " (не знімайте прапорця), а потім у полі "Значення за промовчанням " введіть "Морепродукти".
- Виберіть поле "Продукт " (не знімайте прапорця), а потім у полі "Значення за промовчанням " введіть "Крабове м'ясо".
- Клацніть правою кнопкою миші поле "Продукт " і виберіть вище пункт "Додати інший продукт". Це дасть вам змогу додати другий продукт для категорії "Морепродукти" як значення за замовчуванням.
- Клацніть правою кнопкою миші другий екземпляр поля "Product " (не знімайте прапорця), а потім у полі "Значення за промовчанням " введіть Salmon.
- Клацніть правою кнопкою миші групу "CategoriesAndProducts " і виберіть команду "Додати ще один пункт "CategoriesAndProducts" нижче. Це дасть вам змогу додати другу категорію як значення за замовчуванням.
- Повторіть описані вище кроки, щоб указати значення за замовчуванням для другого екземпляра полів "Категорія " та "Продукт " для молочних продуктів, чеддера та шоколадного молока відповідно.
- Натисніть кнопку OK.
Тепер, коли ви вже ввели значення за замовчуванням для полів "Продукт " і "Категорія ", можна підключити перший список до даних, які ви щойно ввели.
Підключення першого списку до даних
- У шаблоні форми двічі клацніть розкривний список, вставлений раніше.
- Перейдіть на вкладку Дані.
- У діалоговому вікні " Властивості розкривного списку " в розділі "Елементи списку" виберіть параметр "Пошук значень у джерелі даних форми".
- Клацніть «Вибрати XPath
» поруч із полем «Записи ». - У діалоговому вікні " Вибір поля або групи " в групі "CategoriesAndProducts " клацніть поле "Category " і двічі натисніть кнопку "OK ".
Тепер необхідно підключити до даних другий список. Коли ви створюватимете цей зв'язок даних, вам знадобиться застосувати фільтр до другого списку. Цей фільтр заповнить другий список відповідними продуктами залежно від категорії, вибраної в першому. Фільтр порівнює значення, вибране в першому списку (поле "listBox1"), зі списком категорій, збережених у формі (поле "Category").
Підключення другого списку до даних
- У шаблоні форми двічі клацніть стандартний список, вставлений раніше.
- Перейдіть на вкладку Дані.
- У діалоговому вікні " Властивості списку " в розділі "Елементи списку" виберіть параметр "Пошук значень у джерелі даних форми".
- Клацніть «Вибрати XPath
» поруч із полем «Записи ». - У діалоговому вікні " Вибір поля або групи " в групі "CategoriesAndProducts " клацніть поле "Product " і виберіть команду "Фільтрувати дані".
- У діалоговому вікні "Фільтрування даних " натисніть кнопку "Додати".
- У діалоговому вікні " Визначення умов фільтрування " виберіть пункт "Вибрати поле або групу " в першому полі.
- У діалоговому вікні "Вибір поля або групи" виберіть пункт "listBox1" і натисніть кнопку "OK".
- У діалоговому вікні " Визначення умов фільтрування " в третьому полі виберіть пункт "Вибрати поле або групу ".
- У діалоговому вікні " Вибір поля або групи " клацніть поле "Category ", а потім натискайте кнопку "OK ", щоб закрити всі відкриті діалогові вікна.
Тепер, коли другий список підключено до даних, а фільтр застосовано, час перевірити роботу списків.
Перевірка списків
Щоб перевірити зміни, клацніть елемент Попередній перегляд на панелі інструментів Стандартна або натисніть клавіші Ctrl+Shift+B.
У розкривному списку виберіть пункт "Морепродукти". У стандартному списку має відображатися пустий рядок, "Крабове м'ясо" та "Лосось".
Примітка.
Пустий рядок дає змогу користувачам скасувати свій вибір у списку.
Якщо списки не працюють належним чином, перевірте фільтр для другого списку, щоб переконатися, що він порівнює поле listBox1 із полем Category .
Підключення до зовнішнього XML-документа
У цьому розділі ви дізнаєтеся, як створити зв'язок даних з XML-документом, який містить значення продукту та категорії. XML-документ буде додатковим джерелом даних. Щоб створити цей зв'язок даних, потрібно створити XML-документ, пов'язати з ним списки в шаблоні форми, а потім застосувати фільтр до другого списку так, щоб список продуктів змінювався відповідно.
Перш ніж ви зможете пов'язати форму з додатковим джерелом даних, знадобиться створити XML-документ.
Створення XML-документа
Запустіть Блокнот або інший текстовий редактор.
Скопіюйте та вставте в текстовий редактор такі дані 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>Збережіть файл на комп'ютері як listBoxData.xml.
Тепер створений XML-документ можна підключити до шаблону форми. Буде створено додаткове джерело даних.
Підключення XML-документа до шаблону форми
- У меню «Знаряддя » виберіть пункт «Зв'язки даних».
- У діалоговому вікні "Зв'язки даних " натисніть кнопку "Додати".
- У майстрі зв'язків даних виберіть пункт Отримання даних і натисніть кнопку Далі.
- На наступній сторінці майстра виберіть пункт XML-документ і натисніть кнопку "Далі".
- На наступній сторінці майстра натисніть кнопку "Огляд", виберіть файлlistBoxData.xml , збережений на комп'ютері, і натисніть кнопку "Відкрити".
- На наступній сторінці майстра виберіть пункт Долучити дані як файл ресурсів до шаблону форми або частини шаблону, а потім натисніть кнопку Далі.
- На наступній сторінці майстра в полі "Введіть ім'я цього зв'язку даних " введіть listBoxDataXMLFile.
- Установіть прапорець "Автоматично отримувати дані під час відкриття форми ". Завдяки цьому дані списку будуть завжди доступні, коли користувач відкриває форму, і йому не доведеться щоразу запитувати їх.
- Натисніть кнопку Готово.
- У діалоговому вікні "Зв'язки даних " натисніть кнопку "Закрити".
Тепер ви готові підключити перший список у шаблоні форми до даних в XML-документі.
Підключення першого списку до даних
У шаблоні форми двічі клацніть розкривний список, вставлений раніше.
Перейдіть на вкладку Дані.
У діалоговому вікні " Властивості розкривного списку " в розділі "Елементи списку" виберіть пункт "Пошук значень у зовнішньому джерелі даних".
У полі " Джерело даних " виберіть елемент listBoxDataXMLFile.
Клацніть «Вибрати XPath
» поруч із полем «Записи ».У діалоговому вікні " Вибір поля або групи " в групі "CategoriesAndProducts " клацніть поле "Categories ".
Примітка.
Жовтий фон діалогового вікна "Вибір поля або групи " вказує на те, що ви працюєте з додатковим джерелом даних.
Двічі натисніть кнопку ОК.
Тепер потрібно підключити другий список до XML-документа. Коли ви створюватимете цей зв'язок даних, вам знадобиться застосувати фільтр до другого списку. Цей фільтр заповнить другий список відповідними продуктами залежно від категорії, вибраної в першому. Фільтр порівнює значення, вибране в першому списку (поле "listBox1"), зі списком категорій, збережених у формі (поле "Category").
Підключення другого списку до даних
- У шаблоні форми двічі клацніть стандартний список, вставлений раніше.
- Перейдіть на вкладку Дані.
- У діалоговому вікні " Властивості списку " в розділі "Елементи списку" виберіть параметр "Пошук значень у зовнішньому джерелі даних".
- У полі " Джерело даних " виберіть елемент listBoxDataXMLFile.
- Клацніть «Вибрати XPath
» поруч із полем «Записи ». - У діалоговому вікні " Вибір поля або групи " в групі "CategoriesAndProducts " розгорніть групу "Products " і виберіть поле "Product ".
- Натисніть кнопку "Фільтрувати дані".
- У діалоговому вікні "Фільтрування даних " натисніть кнопку "Додати".
- У діалоговому вікні " Визначення умов фільтрування " виберіть пункт "Вибрати поле або групу " в першому полі.
- У діалоговому вікні "Вибір поля або групи" джерела даних виберіть пункт "Головне".
- Виберіть пункт listBox1 і натисніть кнопку OK.
- У діалоговому вікні " Визначення умов фільтрування " в третьому полі виберіть пункт "Вибрати поле або групу ".
- У діалоговому вікні "Виберіть поле або групу" джерела даних виберіть пункт listBoxDataXMLFile (Допоміжне), а потім натисніть кнопку "Categories".
- Натискайте кнопку "OK ", доки не буде закрито всі відкриті діалогові вікна.
Тепер, коли другий список підключено до XML-документа, а фільтр застосовано, час перевірити роботу списків.
Перевірка списків
Щоб перевірити зміни, клацніть елемент Попередній перегляд на панелі інструментів Стандартна або натисніть клавіші Ctrl+Shift+B.
У розкривному списку виберіть пункт "Морепродукти". У стандартному списку має відображатися лише пустий рядок, "Крабове м'ясо" та "Лосось".
Примітка.
Пустий рядок дає змогу користувачам скасувати свій вибір у списку.
Якщо списки не працюють належним чином, перевірте фільтр для другого списку, щоб переконатися, що він порівнює поле listBox1 із полем Category .
Підключення до бази даних
У цьому розділі ви дізнаєтеся, як створити зв'язок даних із двома таблицями в базі даних Access. Для цього потрібно пов'язати списки в шаблоні форми з базою даних, а потім застосувати фільтр до другого списку так, щоб другий список змінювався залежно від значення, вибраного в першому. Для цього прикладу припустимо, що база даних Access містить дві таблиці під назвами "Categories" і "Products", а також що ці дві таблиці пов'язано між собою полем "CategoryID", яке використовується в кожній таблиці.
Таблиця "Categories"
| CategoryID | Ім'я категорії |
|---|---|
| 1 | Морепродукти |
| 2 | Молочні продукти |
Таблиця "Products"
| Ідентифікатор товару | CategoryID | Назва товару |
|---|---|---|
| 1 | 1 | Крабове м'ясо |
| 2 | 1 | Лосось |
| 3 | 2 | Шоколадне молоко |
| 4 | 2 | Чеддер |
Підключення шаблону форми до джерела даних
Спочатку потрібно створити зв'язок даних між шаблоном форми й таблицями в базі даних. Оскільки ви лише відображаєте дані з бази даних, а не змінюєте їх безпосередньо, то база даних Access буде додатковим джерелом даних для шаблону форми.
У меню «Знаряддя » виберіть пункт «Зв'язки даних».
У діалоговому вікні "Зв'язки даних " натисніть кнопку "Додати".
У майстрі зв'язків даних виберіть пункт Отримання даних і натисніть кнопку Далі.
На наступній сторінці майстра виберіть пункт База даних (Microsoft SQL ServerSQL Server або Microsoft Office Access only), а потім натисніть кнопку Далі.
На наступній сторінці майстра натисніть кнопку Вибрати базу даних, а потім перейдіть до бази даних Access і двічі клацніть її на жорсткому диску.
У діалоговому вікні " Виділити таблицю " клацніть таблицю, що містить дані, які потрібно відображати в першому списку (у цьому прикладі – таблиця "Categories"), а потім натисніть кнопку OK. Цю таблицю буде визначено головною для зв'язку даних.
У майстрі натисніть кнопку "Додати таблицю".
У діалоговому вікні " Додавання таблиці або запиту " клацніть таблицю, що містить дані, які потрібно відображати в другому списку (у цьому прикладі – таблиця "Products"), а потім натисніть кнопку "Далі".
У діалоговому вікні " Редагування зв'язку " перевірте, чи правильно вказано поля з'єднання. У цьому прикладі таблиці пов'язано між собою полем "CategoryID".
Порада.
Якщо поля з'єднання вказано неправильно, виберіть їх і натисніть кнопку «Видалити зв'язок». Потім натисніть кнопку "Додати зв'язок", виберіть правильні поля та натисніть кнопку "ОК".
Натисніть кнопку Готово.
Примітка.
У цьому прикладі таблиця категорій має з таблицею продуктів зв'язок "один до багатьох", тобто для кожної категорії може бути кілька продуктів. У базі даних цей тип зв'язку зазвичай установлюється за допомогою ключових полів. У цьому випадку ключове поле "CategoryID" дає змогу програмі Access пов'язати правильний набір продуктів із відповідною категорією.
У вікні майстра перевірте структуру джерела даних. Ви маєте бачити дві таблиці, пов'язані між собою: головну та додаткову. Щоб переглянути окремі поля в таблиці, установіть прапорець Відображати стовпці таблиці . Перевіривши структуру даних, натисніть кнопку "Далі".
Зніміть прапорець Зберегти копію даних у шаблоні форми та натисніть кнопку Далі.
На наступній сторінці майстра в полі "Введіть ім'я цього зв'язку даних " введіть ім'я для цього зв'язку даних.
Установіть прапорець "Автоматично отримувати дані під час відкриття форми ".
У діалоговому вікні "Зв'язки даних" натисніть кнопку "Готово", а потім – кнопку "Закрити".
Підключення першого списку до даних
Тепер, коли ви створили зв'язок даних із додатковим джерелом даних, можна підключити перший список у шаблоні форми до таблиць у базі даних.
У шаблоні форми двічі клацніть розкривний список, вставлений раніше.
Перейдіть на вкладку Дані.
У діалоговому вікні " Властивості розкривного списку " в розділі "Елементи списку" виберіть пункт "Пошук значень у зовнішньому джерелі даних".
Переконайтеся, що в полі " Джерело даних " вибрано зв'язок даних, який ви створили.
Клацніть «Вибрати XPath
» поруч із полем «Записи ».У діалоговому вікні " Вибір поля або групи " клацніть ім'я таблиці з даними, які потрібно відображати в розкривному списку (у цьому прикладі – d:Categories ), а потім натисніть кнопку OK.
Примітка.
Жовтий фон діалогового вікна "Вибір поля або групи " вказує на те, що ви працюєте з додатковим джерелом даних.
Натисніть Select XPath
поруч із полем "Значення ".Переконайтеся, що в діалоговому вікні "Вибір поля або групи" вибрано поле з'єднання (у цьому прикладі :CategoryID), а потім натисніть кнопку OK. Це значення, яке буде збережено, коли користувач зробить свій вибір у списку.
Клацніть "Вибрати XPath
" поруч із полем "Коротке ім'я ".У діалоговому вікні " Вибір поля або групи " клацніть ім'я поля, яке потрібно відображати в розкривному списку (у цьому прикладі – :Ім'яКатегорії).
Двічі натисніть кнопку ОК.
Підключення другого списку до даних
Тепер потрібно підключити другий список до бази даних. Коли ви створюватимете цей зв'язок даних, вам знадобиться застосувати фільтр до другого списку. Цей фільтр заповнить другий список відповідними значеннями залежно від значення, вибраного в першому.
У шаблоні форми двічі клацніть стандартний список.
Перейдіть на вкладку Дані.
У діалоговому вікні " Властивості списку " в розділі "Елементи списку" виберіть параметр "Пошук значень у зовнішньому джерелі даних".
Переконайтеся, що в полі " Джерело даних " вибрано зв'язок даних, який ви створили.
Клацніть «Вибрати XPath
» поруч із полем «Записи ».У діалоговому вікні " Вибір поля або групи " розгорніть основну групу (у цьому прикладі – d:Categories), а потім клацніть допоміжну групу, що відповідає таблиці, що містить дані, які потрібно відображати в каскадному списку (у цьому прикладі – "Продукти").
Натисніть кнопку "Фільтрувати дані".
У діалоговому вікні "Фільтрування даних " натисніть кнопку "Додати".
У діалоговому вікні " Визначення умов фільтрування " в першому полі переконайтеся, що вибрано поле з'єднання з допоміжної таблиці (у цьому прикладі – "Продукти").
Важливо
Поля з'єднання мають однакові назви в обох таблицях, тому переконайтеся, що вибрали правильне. Поля з кожної таблиці сортуються разом у списку. Таким чином, ви можете використати суміжні імена полів, щоб визначити, котре з них вам потрібне. У цьому прикладі вибираємо поле "CategoryID", яке відображається разом з іншими полями з таблиці "Products".
У третьому полі виберіть команду Вибрати поле або групу.
У діалоговому вікні "Вибір поля або групи" джерела даних виберіть пункт "Головне", потім клацніть поле "listBox1" і натисніть кнопку "OK".
Ви щойно налаштували фільтр, який порівнює значення, вибране в розкривному списку (поле "listBox1") зі списком значень у стандартному списку.Тричі натисніть кнопку OK , щоб повернутися до діалогового вікна властивостей списку .
Натисніть Select XPath
поруч із полем "Значення ".У діалоговому вікні " Вибір поля або групи " виберіть значення, яке потрібно зберегти, коли користувач зробить свій вибір у списку. У цьому прикладі ми хочемо зберегти для подальшого використання поле ProductID. Тому вибираємо групу :P roductID, а потім натискаємо ОК.
Клацніть "Вибрати XPath
" поруч із полем "Коротке ім'я ".У діалоговому вікні " Вибір поля або групи " клацніть ім'я поля, яке потрібно відображати в списку (у цьому прикладі – :P roductName).
Двічі натисніть кнопку ОК.
Перевірка списків
Тепер, коли другий список підключено до бази даних, а фільтр застосовано, час перевірити роботу списків.
- Щоб перевірити зміни, клацніть елемент Попередній перегляд на панелі інструментів Стандартна або натисніть клавіші Ctrl+Shift+B.
- У розкривному списку виберіть значення. У стандартному списку мають відображатися відповідні значення з допоміжної таблиці залежно від того, яке поле з'єднання ви вибрали.
Порада.
Якщо списки не працюють належним чином, перевірте фільтр для другого списку, щоб переконатися, що він порівнює поле "listBox1 " із полем "CategoryID ".