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