Applies ToAccess для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Якщо щоразу під час виконання запиту в Access потрібно запитувати введення даних, можна створити параметризований запит.

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

У цій статті

Огляд

Щоб зменшити кількість записів, які повертає параметризований запит, в Access можна використовувати критерії такого запиту. Діалогових вікон, передбачених у параметризованому запиті, може бути недостатньо для виконання поставлених завдань. У таких випадках можна створити форму, яка краще відповідає вашим потребам зі збору параметрів. У цій статті пояснюється, як створити форму для збору параметрів запитів і звітів. Припускається, що ви вмієте створювати запити та визначати їхні параметри. Перш ніж продовжити, ви принаймні повинні знати, як створити вибірковий запиту.

У цій статті наведено приклади використання параметрів у запитах. Вона не є виключною довідкою з визначення критеріїв.

Використання параметрів у запитах

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

Додавання параметра до запиту

  1. Створіть вибірковий запит, а потім відкрийте його в режимі конструктора.

  2. У рядку Критерії для поля, до якого потрібно застосувати параметр, введіть у квадратних дужках текст, який має відображатись у діалоговому вікні параметра, наприклад:

    [Дата початку]

    Під час виконання параметризованого запиту текст повідомлення відображатиметься в діалоговому вікні без квадратних дужок.

    Також можна використати вираз із запитом на введення параметрів, наприклад:

    Between [Дата почату] And [Дата завершення]

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

  3. Повторіть крок 2 для кожного поля, до якого потрібно додати параметри.

Виконуючи наведені вище дії, ви можете додати параметр до запиту будь-якого з цих типів: Select, Crosstab, Append, Make-table або Update.

Ви також можете додати параметр до запиту на об’єднання, виконавши такі дії:

  1. Відкрийте запит на об’єднання в режимі SQL.

  2. Додайте речення WHERE, яке містить усі поля, для яких потрібно відображати запит на введення для параметра.

    Якщо речення WHERE вже є, перевірте, чи воно містить поля, у яких потрібно використати запит на введення параметрів. Якщо ні, додайте їх.

  3. Замість використання критерію в реченні WHERE, використайте запит на введення параметрів.

Визначення типу даних параметра

Можна також визначити, який тип даних має приймати параметр. Можна визначити тип даних для будь-якого параметра, але найбільш важливо визначити тип даних для числових і грошових даних або дати й часу. Якщо визначено тип даних, який має приймати параметр, відобразиться повідомлення про помилку у випадку введення неправильного типу даних, наприклад у разі введення текстового типу даних замість очікуваного грошового.

Примітка.: Якщо для параметра визначено текстовий тип даних, будь-які введені дані розцінюватимуться як текст і повідомлення про помилку не відображатиметься.

Ось як указати в запиті тип даних для параметрів:

  1. Коли запит відкрито в поданні ''Конструктор'', на вкладці Конструктор у групі Відобразити або приховати натисніть кнопку Параметри.

  2. У діалоговому вікні Параметри запиту у стовпці Параметр введіть підказку для кожного параметра, для якого необхідно вказати тип даних. Переконайтеся, що кожен параметр відповідає підказці, що використовується в рядку Критерії бланка запиту.

  3. У стовпці Тип даних виберіть тип даних для кожного параметра.

Створення форми для збору параметрів

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

  • використовувати елементів керування для конкретних типу даних, наприклад елементи керування календаря для дат;

  • зберігати зібрані параметри, щоб використовувати їх із кількома запитами;

  • додати поле зі списком або список для збору параметрів, що дає змогу вибрати зі списку наявних даних значень.

  • додати елементи керування для інших функцій, як-от відкриття або оновлення запиту.

У цьому відео показано, як створити просту форму для збору параметрів у запиті, а не використовувати діалогове вікно, що зазвичай асоціюється з параметризованими запитами.

Ваш браузер не підтримує відео. Інсталюйте Microsoft Silverlight, Adobe Flash Player або Internet Explorer 9.

Створення форми для збору параметрів звіту

Цей сценарій можна реалізувати кількома способами, але ми розглянемо лише один спосіб – переважно за допомогою макросів. Виконайте наведені нижче дії, щоб створити форму для збору параметрів звіту.

Крок 1. Створіть форму, яка приймає введені дані

  1. На вкладці Створення в групі Форми натисніть кнопку Конструктор форм.

  2. У режимі конструктора натисніть клавішу F4, щоб відобразити область властивостей, а потім укажіть властивості форми, як показано в таблиці нижче.

    Властивість

    Параметр

    Підпис

    Введіть ім’я, яке має відображатися в рядку заголовка форми.

    Подання за промовчанням

    Одна форма

    Дозволити подання форми

    Так

    Дозволити подання таблиці

    Ні

    Дозволити подання зведеної таблиці

    Ні

    Дозволити подання зведеної діаграми

    Ні

    Смуги прокручування

    Немає

    Області виділення записів

    Ні

    Кнопки переходу

    Ні

    Стиль межі

    Діалогове вікно

  3. Для кожного параметра, який має збирати форма, на вкладці Конструктор у групі Елементи керування клацніть Текстове поле.

  4. Укажіть властивості для текстових полів, як показано в таблиці нижче.

    Властивість

    Параметр

    Ім’я

    Введіть ім’я, яке описує параметр, наприклад ДатаПочатку.

    Формат

    Виберіть формат, який відображає тип даних для поля параметра. Наприклад, виберіть Повний формат дати для поля дати.

  5. Збережіть форму та дайте їй ім’я, як-от фрмКритерії.

Крок 2. Створіть модуль коду, щоб перевірити, чи форму для збору параметрів вже завантажено

  1. На вкладці Створення в групі Макроси та код натисніть кнопку Модуль

    Новий модуль відкриється в редакторі Visual Basic.

  2. Введіть або вставте наведений нижче код у редактор Visual Basic:

    Function IsLoaded(ByVal strFormName As String) As Boolean
    Dim oAccessObject As AccessObject
    Set oAccessObject = CurrentProject.AllForms(strFormName)
    If oAccessObject.IsLoaded Then
      If oAccessObject.CurrentView <> acCurViewDesign Then
        IsLoaded = True
      End If
    End If
    End Function
    
  3. Збережіть модуль під унікальним іменем, а потім закрийте редактор Visual Basic.

Крок 3. Створіть макрос, який керує формою та звітом

За допомогою функцій вкладених макросів у макросах Access ми можемо визначити всі потрібні кроки, які має виконати один макрос. Створімо чотири вкладені макроси (відкриття та закриття діалогового вікна, кнопки "OK" і "Скасувати"), щоб керувати різними завданнями, потрібними для цієї процедури. Орієнтуючись на знімки екрана нижче, створіть новий макрос із такими вкладеними макросами й діями. Зверніть увагу, що в цьому прикладі форма для збору параметрів називається "фрмКритерії". Налаштуйте макрос відповідно до імені форми, яку ви створили раніше. Крім того, на вкладці Конструктор обов’язково клацніть Відображати всі дії, щоб бачити всі дії макросу.

Знімок екрана: макрос Access із чотирма вкладеними макросами та діями.

Збережіть і закрийте макрос. Назвіть макрос, наприклад Діапазон дат.

Крок 4. Додайте до форми кнопки "OK" і "Скасувати"

  1. Знову відкрийте форму для збору параметрів, яку ви раніше створили в режимі конструктора.

  2. Переконайтеся, що прапорець Застосувати майстри елементів керування не вибрано на вкладці Конструктор у групі Елементи керування.

  3. На вкладці Конструктор у групі Елементи керування клацніть Кнопка.

  4. Наведіть вказівник миші в місце під текстовими полями у формі, а потім перетягніть, щоб створити кнопку OK.

  5. Якщо область властивостей не відображається, натисніть клавішу F4, щоб відобразити її.

  6. Укажіть властивості для кнопки OK, як показано в таблиці нижче.

    Властивість

    Параметр

    Ім’я

    OK

    Підпис

    OK

    За промовчанням

    Так

    Після клацання

    Введіть ім’я макросу, наприклад Діапазон дат.OK.

  7. Створіть кнопку Скасувати та вкажіть її властивості, як показано в таблиці нижче.

    Властивість

    Параметр

    Ім’я

    Скасувати

    Підпис

    Скасувати

    Після клацання

    Введіть ім’я макросу, наприклад Діапазон дат.Скасувати.

  8. Збережіть і закрийте форму.

Крок 5. Використайте форму даних як критеріїв запиту

  1. Відкрийте запит, який ви раніше створили в режимі конструктора.

  2. Введіть умови для даних. Використовуйте об'єкт Forms , ім'я форми та ім'я елемент керування:

    • Наприклад, у базі даних Access (ACCDB або MDB) для форми з іменем "фрмКритерії" використовується наведений нижче вираз, щоб посилатися на елементи керування "Дата початку" та "Дата завершення" в запиті:

      Between [Форми]![фрмКритерії]![Дата початку] And [Форми]![фрмКритерії]![Дата завершення]

Крок 6. Додайте дії макросу до подій звіту

  1. Відкрийте звіт, який потрібно використати в режимі конструктора.

  2. Якщо область властивостей не відображається, натисніть клавішу F4, щоб відобразити її.

  3. Переконайтеся, що властивість звіту Джерело записів використовує параметризований запит, який ви визначили раніше.

  4. Укажіть ці дві додаткові властивості звіту, як показано в таблиці нижче.

    Властивість

    Параметр

    Відкриття

    Введіть ім’я макросу, наприклад Діапазон дат.Відкриття вікна.

    Закриття

    Введіть ім’я макросу, наприклад Діапазон дат.Закриття вікна.

    У разі виникнення події "Відкриття звіту", Access виконує дії, визначені у вкладеному макросі "Відкриття вікна" об’єкта "Діапазон даних". Так само, коли ви закриваєте звіт, Access виконує дії, визначені у вкладеному макросі "Закриття вікна" об’єкта "Діапазон даних".

  5. Збережіть і закрийте звіт.

Крок 7. Спробуйте, як усе працює

Створивши всі об’єкти Access, вам варто випробувати їх на практиці. Відкрийте свій звіт у поданні звіту або в режимі попереднього перегляду та зверніть увагу, що перш ніж Access відобразить звіт, відкриється форма для збору параметрів у режимі діалогового вікна. Введіть потрібні критерії в текстові поля, які ви створили раніше, і натисніть кнопку OK у формі. Після цього Access приховає форму ("Видимий" = "Ні") і відкриє звіт лише з тими даними, що відповідають критеріям. Це працює, тому що параметризований запит, на якому основано звіт, може читати значення з елементів керування в прихованій формі. Коли ви закриєте звіт, Access також закриє форму для збору параметрів.

На початок сторінки

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.