За допомогою дії макросу Пошукзапису можна знайти певний запис таблиці, запиту, форми або звіту в класичній базі даних Access.
Налаштування
Дія макросу Пошукзапису має такі аргументи:
Аргумент дії |
Опис |
||||||||||
Тип об’єкта, |
Введіть або виберіть тип об’єкта бази даних, у якому виконується пошук. Доступні варіанти: Таблиця, Запит, Форма та Звіт. |
||||||||||
Ім’я об’єкта |
Введіть або виберіть певний об’єкт, що містить шуканий запис. У розкривному списку відображаються всі об’єкти бази даних, тип яких відповідає значенню аргументу Тип об’єкта. |
||||||||||
Запис |
Зазначте початкову точку й напрямок пошуку.
|
||||||||||
Умова відбору |
Введіть умови пошуку, використовуючи синтаксис речення WHERE (SQL), але без слова WHERE. Наприклад: Description = "Beverages" Щоб створити умову зі значенням із текстового поля у формі, потрібно скласти вираз, який об’єднує першу частину умови з іменем текстового поля, що містить шукане значення. Нижче наведено приклад умови для пошуку в полі Description значення з текстового поля txtDescription у формі frmCategories. Зверніть увагу на знак рівності (=) на початку виразу та одинарні лапки (') з обох кінців посилання на текстове поле. ="Description = '" & Forms![frmCategories]![txtDescription] & "'" |
Примітки
-
Якщо умовам в аргументі Умова відбору відповідають кілька записів, на вибір запису для повернення впливатимуть такі фактори:
-
Значення аргументу "Запис". Докладні відомості про аргумент Запис див. в таблиці в розділі "Налаштування".
-
Порядок сортування записів. Наприклад, якщо для аргументу Запис встановлено значення З початку, змінення порядку сортування записів може призвести до повернення іншого запису.
-
-
Перш ніж виконувати цю дію, потрібно відкрити об’єкт, зазначений в аргументі Ім’я об’єкта. В іншому разі станеться помилка.
-
Якщо умови в аргументі Умова відбору не виконуються, помилка не стається, а фокус залишається на поточному записі.
-
Якщо вибрано параметр "Назад" або "Далі", пошук не продовжується після досягнення першого або останнього запису відповідно. Якщо більше немає записів, які відповідають умовам, помилка не стається, а фокус залишається на поточному записі. Щоб підтвердити знайдення збігу, можна ввести умову для наступної дії таким чином, щоб вона відповідала умовам в аргументі Умова відбору.
-
Щоб виконати дію Пошукзапису в модулі VBA, скористайтеся методом SearchForRecord об’єкта DoCmd.
-
Дія макросу " SearchForRecord " схожа на дію макросу " знайти запис", але в SearchForRecord є потужні функції пошуку. Дія макросу "знайти запис " здебільшого використовується для пошуку рядків, і він дублює функціональність діалогового вікна " Пошук ". Дія макросу SearchForRecord використовує умови, які більше схожі на фільтр або запит SQL. У наведеному нижче списку показано деякі дії, які можна виконувати з макросом SearchForRecord .
-
Для аргументу Умова відбору можна використовувати складні умови, наприклад:
-
Description = "Напої" та CategoryID = 11
-
Ви можете посилатися на поля, які містяться в джерелі записів форми або звіту, проте не відображаються в них. У попередньому прикладі поля Description і CategoryID не мають відображатися у формі або звіті, щоб умова працювала.
-
Ви можете використовувати логічні оператори, як-от <, >, AND, OR та BETWEEN. Дія Знайтизапис знаходить тільки рядки, які починаються з шуканого рядка, містять його або точно збігаються з ним.
Приклад
Наведений нижче макрос спочатку відкриває таблицю "Категорії", використовуючи дію Відкрититаблицю. Потім за допомогою дії Пошукзапису макрос знаходить перший запис у таблиці, де вміст поля Description збігається зі словом "Напої".
Дія |
Аргументи |
Відкрититаблицю |
Ім’я таблиці: Категорії Подання: Таблиця Режим даних: Редагувати |
Пошукзапису |
Тип об’єкта: Таблиця Ім’я об’єкта: Категорії Запис: З початку Умова відбору: Description = "Напої" |