Завдання таблиці для вибору значень - інтернет підручник c builder

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

Для полів деяких типів, наприклад, строкового, числового чи дати, можна визначити деяку таблицю (таблицю вибору), поля якої будуть використовуватися для формування набору допустимих значень. Якщо для поля задана таблиця вибору, то в нього можна ввести тільки значення, що міститься в таблиці вибору (в зазначеному полі будь-якого запису). Завдання таблиці вибору гарантує, що в полі не буде введено неприпустиме значення.

Дія набору допустимих значень поширюється також на редагування записів таблиці програмним способом: при спробі привласнити полю неприпустиме значення генерується виняток.

При введенні строкових значень враховується регістр букв, тому, наприклад, Водій і ВОДІЙ є різними значеннями.
У будь-якому випадку допустимим є пусте значення (Null), якщо, звичайно, не обмежений, що поле не може бути порожнім.

Для виконання операцій, пов'язаних з полями вибору, призначений пункт Table Lookup (Таблиця вибору) комбінованого списку Table properties вікна визначення структури таблиці. При цьому під списком стає доступною кнопка Define, натискання якої відкриває вікно Table Lookup.

У списку Fields виводяться імена всіх полів таблиці, при цьому імена полів, які не допускають створення таблиці вибору, виділені сірим кольором (наприклад, поле Автоінкрементний типу).

Ім'я поля, для якого задається таблиця вибору, відображається в області Field name, для його вказівки слід виділити в списку Fields потрібний рядок і натиснути кнопку із зображенням стрілки вправо. Якщо вказати інше поле і натиснути кнопку, то ім'я цього поля перейде в область Field name і замінить ім'я попереднього поля.

Після завдання таблиці вибору натискання кнопки із зображенням стрілки вліво переводить ім'я її першого поля, значення якого будуть використані для формування набору допустимих значень, в область Lookup field (Поле вибору). Типи полів обох таблиць повинні збігатися, в іншому випадку в інформаційній панелі видається повідомлення про помилку.

За допомогою групи перемикачів Lookup type (Тип вибору) можна задати спосіб взаємодії обох таблиць. Якщо включений перемикач Just current field (Тільки поточний поле), то таблиця вибору задається тільки для поля, зазначеного в області Field name. Перемикач All corresponding fields призначає таблицю вибору не тільки вказаною полю, але і всім відповідним полях. Імена і типи цих полів повинні збігатися з відповідними полями таблиці вибору.

Група перемикачів Lookup access (Доступ до таблиці вибору) визначає, як користувач використовує значення з таблиці вибору. Якщо включений перемикач Fill no help (Вставка без допомоги), то при редагуванні поля, для якого визначена таблиця вибору, користувач повинен знати допустимі значення цього поля. При цьому термін "вибір" не зовсім точно відображає взаємозв'язок полів таблиць, т. К. Користувачу не пропонується список можливих значень, з яких він може вибрати потрібну йому. Користувач сам вводить значення в поле, при цьому на рівні таблиці виконується перевірка, чи є це значення допустимим. Якщо значення відсутнє в зазначеному полі таблиці вибору, то воно не приймається. У цьому випадку може допомогти відображення поруч з редагованої таблицею таблиці вибору.

Установка перемикача Help and fill (Допомога та вставка) дозволяє не тільки ввести значення в поле, як описано вище, але і дійсно Вибрати значення зі списку. Список, сформований на підставі значень поля (полів) таблиці вибору, з'являється при натисканні комбінації клавіш +<пробел> в редагованому поле. Після вибору потрібного значення і натискання кнопки ОК воно заноситься в поле.

З таблиці вибору можуть бути видалені значення. Якщо ці значення містяться в полях таблиці, що використовує таблицю вибору, то при переході в режим її редагування виникає помилка. При використанні програми типу Database Desktop таблицю не можна вивести з режиму редагування, поки все її значення не приведені у відповідність з новими значеннями таблиці вибору. Під час виконання програми при доступі до таблиці, що використовує віддалені з таблиці вибору значення, генерується виняток.

Після завдання для поля таблиці вибору у вікні визначення структури таблиці стають доступними кнопки Modify і Erase, а також список, в якому відображається ім'я цієї таблиці.

Натискання кнопки Modify знову відкриває вікно завдання таблиці вибору, в якому можна ввести нові дані. Кнопка Erase служить для скасування використання таблиці вибору і пов'язаних з нею обмежень на значення поля.

Об'єкти поля типу TField наборів даних Table і Query, а також компонент DBGrid дозволяють визначити для поля список вибору, який також дає можливість користувачу вибирати значення при редагуванні. Вони задаються на програмному рівні і діють тільки в своєму додатку.

Схожі статті