Створюючи форму в Access, може знадобитися відобразити значення з таблиці або запиту, відмінного від тієї, до якої прив'язана форма. Припустімо, наприклад, що у вас є форма "Товари", прив'язана до таблиці "Товари". Однак створюючи форму, ви вирішите, що в формі має відображатися ім'я контакту постачальника для кожного товару – дані, які містяться в таблиці "Постачальники". Нижче описано, як виконати це завдання за допомогою функції DLookup . На кроці 6 вираз можна змінити відповідно до власних даних.
Додавання текстового поля
-
В області переходів клацніть правою кнопкою миші форму, яку потрібно змінити, і виберіть у контекстному меню пункт Конструктор .
-
На вкладці Конструктор у групі Елементи керування клацніть Текстове поле.
-
Знайдіть область форми, до якої потрібно додати елемент керування, і перетягніть вказівник на форму, щоб створити текстове поле.
-
Клацніть текстове поле правою кнопкою миші, а потім у контекстному меню виберіть Властивості.
-
У вікні властивостей перейдіть на вкладку Усі .
-
Установіть для властивості Джерело елемента керування таке значення:
=DLookup("[Ім'я_контакту]";"[Постачальники]";"[Ідентифікатор постачальника]=" & Forms! Продукти! Ідентифікатор постачальника)
-
Збережіть зміни форми, а потім закрийте аркуш властивостей.
Цей вираз шукає в таблиці "Постачальники" та повертає ім'я контакту постачальника, ідентифікатор якого відповідає значенню в елементі керування "Ідентифікатор постачальника " у формі "Товари". Зверніть увагу, як оператор & використовується для побудови третього аргументу функції DLookup (третій аргумент – "[Ідентифікатор постачальника]=" & Forms! Продукти! "Ідентифікатор постачальника"). Поширена помилка, яку слід уникати, – це розміщення лапок навколо всього аргументу, а не лише тексту, що передує оператору & .
Примітка.: Замість використання функції DLookup можна створити новий базовий запит, який міститиме лише потрібні відомості. Часто використання запиту ефективніше, ніж використання функції.