Інтернет Windows Android

Конструювання запитів. Конструктори запитів Використання конструктора запитів дозволяє

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

Зауваження.

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

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

Створимо обробку «КонструкторЗапиту» та визначаємо її у підсистему «ЗвітиІОбробки».

Створимо форму обробки і додаємо реквізит форми «ТабДок» типу «Таблічний документ», а також команду «Виконати Запит» з дією «Виконати Запит». Далі перетягуємо їх на форму.

У модулі форми, для роботи команди, пишемо процедуру:

&На Клієнті

Процедура Виконати Запит(Команда)

Виконати Запит Сервер();

КінецьПроцедури

Виконати Запит Сервер();

&На сервері

Стаємо всередині процедури, що викликається на сервері, і з контекстного меню викликаємо «Конструктор запиту з обробкою результату» (рис. 2.65).

Малюнок 2.65 Конструктор запиту на обробку результату

Ставимо тип обробки "Виведення в табличний документ" і натискаємо або кнопку "Далі", або закладку "Таблиці та поля".

На закладці «Таблиці та поля» конструктора можна переглянути існуючі на даний момент таблиці в системі (ліва частина під назвою «База даних») (Малюнок 2.66).

Малюнок 2.67 Конструктор запиту

Таблиці, дані з яких будуть одержуватись запитом, переносяться в область «Таблиці», необхідні запиту поля переносяться в область «Поля».

Зробимо це як на малюнку 2.68.

Рис 2.68 Конструктор запиту

Тут ми прибрали, створюване за замовчуванням, поле вистави - «ПРЕДСТАВЛЕННЯ (Надходження Товарів Товари. Номенклатура)»

практика.

Натискаємо кнопку «ОК» і перевіряємо нашу обробку в режимі користувача.

Якщо проаналізувати дані, отримані при виконанні запиту, то можна зустріти «повтори» номенклатурних позицій (якщо це не вийшло, то можна скопіювати і провести будь-який документ «Надходження Товарів»).

Повертаємося в процедуру Виконати Запит Сервер() в обробці «Конструктор Запиту» та з контекстного меню знову викликаємо «Конструктор запиту з обробкою результату».

Якщо потрібно «згорнути» результат запиту, то для цього можна використовувати закладку «Угруповання» конструктора запиту.

При визначенні угруповань необхідно дотримуватися наступного правила: усі поля вибірки запиту діляться на поля, якими проводиться угруповання (згортка), поля вкладених таблиць (сумовані поля щодо тих, якими ведеться угруповання) і агрегатні функції. Визначимо угруповання (Малюнок 2.70).

Малюнок 2.70 Конструктор запиту

Якщо дані, отримані запитом, повинні вибиратися за якоюсь умовою, то в цьому випадку може знадобитися задіяти закладку «Умови».

Виберемо Надходження Товарів Товари. Кількість = 10 (Малюнок 2.71).

    Малюнок 2.71. Умова конструктора запиту.

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

Виправити ситуацію можна двома способами:

Перевизначивши умову, наголосивши на прапорі «П...»;

Скориставшись можливістю зміни самого тексту запиту (при натисканні на кнопку «Редагувати Запит»).

Сама зміна вручну полягатиме в тому, що перед числом «10» необхідно прибрати символ «&». Цим символом у тексті запиту визначаються параметри запиту, які надалі (але перед виконанням запиту) мають бути записані будь-які значення. Натисніть на кнопку «Редагувати Запит» і керуємо (Малюнок 2.72).

Малюнок 2.73 Редагування запиту

На закладці «Додатково» можна відзначити ряд прапорів (що стосуються ключового слова «Вибрати» мови запитів) та визначити склад таблиць, призначених для зміни запиту (Малюнок 2.74).

Рисунок 2.74 Додаткові функції запиту

Зверніть увагу на прапор "Автоупорядкування", він може використовуватися для впорядкування по полях типу посилання.

При визначенні розділу "Підсумки" слід бути готовим до того, що в результаті запиту з'явиться "додаткові" підсумкові записи. Разом із цими записами результат запиту стає ієрархічним (Малюнок 2.76).

Рисунок 2.76.Підсумки конструктора запиту.

Допустимо вказівку кількох типів результатів:

    Елементи (у вибірці результату запиту присутні підсумки угруповань і детальні записи);

    Ієрархія (у вибірці результату запиту у випадку присутні підсумкові записи з ієрархії, підсумкові записи з угрупованню, детальні записи);

    Тільки ієрархія (у вибірці результату запиту у випадку присутні підсумкові записи з ієрархії).

Після натискання на кнопку «Ок» конструктора буде сформовано «Макет» і в модулі форми пропишеться код процедури Виконати Запит Сервер():

КінецьПроцедури

Процедура Виконати Запит Сервер()

//((КОНСТРУКТОР_ЗАПРОСА_З_ОБРОБКОЮ_РЕЗУЛЬТАТА

// Цей фрагмент побудований конструктором.

// При повторному використанні конструктора, внесені вручну зміни будуть втрачені!

Макет = Обробки. Конструктор Запитів. Отримати Макет ("Макет");

Запит = Новий Запит;

Запит.Текст =

| НадходженняТоварівТовари.Номенклатура ЯК Номенклатура,

| СУМА(НадходженняТоварівТовари.Кількість) ЯК Кількість,

| СУМА(НадходженняТоварівТовари.Сума) ЯК Сума

| Документ.НадходженняТоварів.Товари

| ЯК НадходженняТоварівТовари

| Надходження Товарів Товари. Кількість > 1

|ЗГРУПУВАТИ ПО

| НадходженняТоварівТовари.Номенклатура

|Упорядкувати за

| Кількість,

| Сума ЗБІВ

| СУМА(Кількість),

| СУМА(Сума)

| Номенклатура "Ієрархія";

Результат = Запит.Виконати();

ОбластьЗаголовок = Макет.ОтриматиОбласть("Заголовок");

ОбластьПодвал = Макет.ОтриматиОбласть("Подвал");

ОбластьШапкаТаблиці = Макет.ОтриматиОбласть("ШапкаТаблиці");

ОбластьПідвалТаблиці = Макет.ОтриматиОбласть("ПодвалТаблиці");

ОбластьНоменклатураІєрархія = Макет.Отримати Область("НоменклатураІєрархія");

ОбластьНоменклатура = Макет.ОтриматиОбласть("Номенклатура");

ТабДок.Очистити();

ТабДок.Вивести(ОбластьЗаголовок);

ТабДок.Вивести(ОбластьШапкаТаблиці);

ТабДок.ПочатиАвтоугрупованняРядок();

ВибіркаНоменклатура = Результат.Вибрати(ОбхідРезультатуЗапроса.Угрупуванням);

Поки ВибіркаНоменклатура.Наступний() Цикл

Якщо ВибіркаНоменклатура.ТипЗаписи() = ТипЗаписуЗапиту.РезультатПоІєрархії Тоді

Область = ОбластьНоменклатураІєрархія;

Область = ОбластьНоменклатура;

КінецьЯкщо;

Область.Параметри.Заповнити(ВибіркаНоменклатура);

Вивести(Область, ВибіркаНоменклатура.Рівень());

КінецьЦикл;

ТабДок.ЗакінчитиАвтоугрупованняСторок();

ТабДок.Вивести(ОбластьПодвалТаблиці);

ТабДок.Вивести(ОбластьПодвал);

//)) КОНСТРУКТОР_ЗАПИТ_З_ОБРОБКОЮ_РЕЗУЛЬТАТУ

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

3. вірно все вищеперелічене

4.40 У документа вже визначено всі основні форми. При створенні нової форми в конструкторі виставляють такі прапорці (див. рисунок). Що станеться після того, як форму буде створено?

1. Форма2 буде призначена основною формою документа

2. Форма2 буде призначена основною формою списку документа

3. Нічого, оскільки основні форми вже призначено

4. Нічого, оскільки не виставлено прапорець "Основна форма списку та вибору"

4.41 Використання конструктора запитів дозволяє:

2. Сформувати програмний код, що містить створення об'єкта вбудованої мови Запит, текст запиту та отримання результату виконання запиту

4. Вірні відповіді 1 та 3

5. Все перелічене вище

4.42 Використання конструктора запиту з обробкою результату дозволяє:

1. Сформувати текст нового запиту

2. Сформувати програмний код, що містить створення об'єкта вбудованої мови Запит, текст запиту, отримання та обробку результату виконання запиту

3. Відредагувати текст наявного запиту

4. Вірні відповіді 1 та 3

5. Вага перерахована вище

4.43 При збереженні тексту запиту, відкритого повторно за допомогою конструктора запиту, без внесення змін до цього тексту:

1. Весь вихідний текст залишається без змін

2. З початкового тексту буде видалено лише коментарі

3. У початковому тексті коментарі залишаться, а будуть видалені лише конструкції мови запитів.

4. З початкового тексту буде видалено і коментарі, і конструкції мови запитів побудовника звітів

4.44 Конструктор запитів може бути викликаний:

1. За допомогою пункту головного меню "Текст - Конструктор запиту..."

2. За допомогою кнопки "Конструктори - Конструктор запитів" на закладці "Макети" із вікна редагування об'єкта

3. За допомогою пункту спливаючого контекстного меню "Конструктор запиту...", що з'являється при натисканні в тексті модуля правої кнопки миші

4. Правильно все перелічене вище

5. Вірні відповіді 1 та 3

4 .45 Ким може використовуватися конструктор запитів?

1. Розробниками, оскільки необхідне знання мови запитів

2. Кваліфікованими користувачами без використання конфігуратора

3. Правильно все перелічене вище

4. Пет правильної відповіді

4.46 На закладці"Таблиці та поля" конструктора запитів задають:

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

2. Набір полів із таблиць - джерел даних запиту

3. Поля у вигляді довільного виразу

4. Верпи відповіді I та 2

5. Правильно все перелічене вище

4.47 Для створення в конструкторі запитів вкладеного запиту необхідно:

1. Відкрити закладку "Таблиці та поля". У командній панелі над деревом "База даних" натиснути кнопку "Додати" або вибрати однойменний пункт контекстного меню

2. Відкрити закладку "Таблиці та поля". У командній панелі над деревом "Таблиці" натиснути кнопку "Додати" або вибрати однойменний пункт контекстного меню

3. Відкрити закладку "Таблиці та поля". У командній панелі над деревом "Поля" натиснути кнопку "Додати" або вибрати однойменний пункт контекстного меню

4. У конструкторі запитів створити вкладений запит не можна

4.48 Для створення в конструкторі запитів поля, що обчислюється, необхідно:

1. Відкрити закладку "Таблиці та поля". У командній панелі над деревом "Таблиці" натисніть кнопку "Змінити поточний елемент". У вікні додати нове поле

2. Відкрити закладку "Таблиці та поля". У командній панелі над деревом "Поля" натиснути кнопку "Додати" або вибрати однойменний пункт контекстного меню

3. Відкрити закладку "Об'єднання/Псевдоніми". У командній панелі над списком полів натиснути кнопку "Додати" або вибрати однойменний пункт контекстного меню

4. Створити поле можна лише змінивши текст запиту "вручну"

4.49 Для створення у запиті рядків, згрупованих за допомогою агрегатних функцій, на закладці "Угруповання" конструктора запитів обов'язково мають бути заповнені:

1. Лише список групових полів. Вказування підсумованих полів не обов'язково

2. Тільки список підсумованих полів, при цьому решта полів автоматично потраплять у секцію ЗГРУПУВАТИ ПО в тексті запиту

3. Обов'язковою є вказівка ​​як групових, так і сумованих полів

4.50 У конструкторі запитів умови на значення агрегатних функцій можна накладати:

1. На закладці "Угруповання", у списку сумованих полів при виборі агрегатної функції

2. На закладці "Умови"

3. На закладці "Підсумки", у списку підсумкових полів при виборі агрегатної функції

4. У конструкторі запитів задати умови на значення агрегатних функцій не можна

4.51 У конструкторі обмежень доступу до даних:

1. Можна використовувати лише поля об'єкта, для якого визначається обмеження

2. Можна використовувати лише поля об'єкта, для якого визначається обмеження та поля вкладених таблиць (по відношенню до полів об'єкта)

3. Будь-які таблиці, які у запиті можна пов'язати з полями об'єкта, для якого визначається обмеження

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

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

2. текст запиту може бути введений лише вручну

3. текст запиту може бути сформований як самим конструктором, так і вручну

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

1. Правило обмеження визначається лише на закладці "Зв'язки"

2. Правило обмеження визначається лише на закладці "Умови"

3. Налаштування, виконані на обох закладках конструктора, беруть участь у визначенні умови на доступ до даних

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

1. Починається з ключового слова "Вибрати"

2. Починається тільки з конструкції "Вибрати Різні"

3. Починається тільки з конструкції "Вибрати Дозволені"

4. Ключове слово "Вибрати" не визначається

5. Допустимі варіанти 1 і 3

4.55 Конструктор агрегатів призначений для формування агрегатів:

1. документів 2.довідників

3. регістрів накопичення

5. звітів

4.56 Конструктор агрегатів може бути викликаний:

1. За кнопкою "Агрегати" у вікні редагування об'єкта конфігурації на закладці "Дані"

2. Через контекстне меню в дереві метаданих "відкрити агрегати"

3. Через контекстне меню у дереві метаданих "Конструктори - конструктор агрегатів"

4. Вірні відповіді 1 та 2

5. Вірні відповіді 1 та 3

6. Всі відповіді верпи

4.57 Якщо для регістра накопичення недоступний конструктор агрегатів, виконайте такі дії:

1. Включити у конфігурації використання агрегатів

2. Змінити налаштування регістру накопичення "Вигляд регістру"

3. Відкрити агрегати та в налаштування додати необхідний регістр накопичення

4.58 Для відображення в конструкторі списку оптимальних агрегатів необхідно:

1. Увімкнути відображення оптимальних агрегатів

2. Здійснити розрахунок оптимальних агрегатів у конфігураторі

3. Здійснити розрахунок оптимальних агрегатів в 1С:Підприємство

4. Здійснити розрахунок оптимальних агрегатів в 1С:Підприємство та завантажити їх у Конфігураторі

4.59 Для визначення схеми джерела даних у системі компонування даних використовується:

1. Конструктор запиту

2. Конструктор запиту з обробкою результату

3. Конструктор схеми компонування даних

4. Конструктор налаштувань компонування даних

Конструктор запитів у 1С 8.3 та 8.2 – найпотужніший інструмент розробки. Він дозволяє скласти текст запиту за допомогою спеціального візуального середовища. Таким чином, щоб створити запит 1с не обов'язково знати вбудовану мову запитів, достатньо орієнтуватися у нескладному та інтуїтивно зрозумілому інтерфейсі конструктора.

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

Опис конструктора запитів на офіційному сайті 1С 8: v8.1c.ru

Таблиці та поля; ; ; ; ; ; Вкладені запити (у розробці).

Для того, щоб викликати конструктор запитів 1с 8 у програмному коді необхідно:

  • Створити новий запит
Запит = Новий Запит;
  • Задати порожній рядок тексту запиту
Запит. Текст = "";
  • Поставити курсор мишки між лапками, натиснути праву кнопку миші. У контекстному меню, що відкрилося, вибрати пункт Конструктор запитута відповісти Такна питання щодо створення нового запиту. Якщо текст запиту вже записаний, необхідно клацнути на будь-якому місці всередині і викликати конструктор ;

Розглянемо на невеликих прикладах із зростаючою складністю усі основні вкладки конструктора запитів. Такий підхід дозволить програмісту-початківцю 1с більш ефективно вивчити конструктор і всі його можливості. Для прикладів будемо використовувати конфігурацію Бухгалтерія 3.0.

Урок №1. Конструктор запитів – найпростіший приклад використання.

Завдання: написати запит до довідника, вибрати всю номенклатуру довідника.

Нові вкладки: Таблиці та поля.

Нові механізми: перегляд та редагування тексту запиту за допомогою кнопки «Запит».

Для початку створення запиту створимо новий запит та викличемо конструктор (як це робиться написано кількома абзацами вище). Після цього відкриється вікно конструктора на вкладці Таблиці та поля.

Теоретична частина уроку №1

Вкладка Таблиці та поляскладається з трьох розділів:

База даних. У цьому розділі представлені всі таблиці бази даних, які можна використовувати для побудови запиту;

Таблиці. У цьому розділі вибираються таблиці, необхідні для даного запиту. Для того щоб перемістити їх з розділу база данихпотрібно:

  • Або двічі клацнути по таблиці;
  • Або скористатися кнопками ">" або ">>".

Над розділом Таблиціє ряд кнопок. Більшість із них буде докладніше розказано в наступних уроках. А поки що дам тільки короткі пояснення.

  • Створити вкладений запит(Червона лінія). Призначена для створення нового вкладеного запиту;
  • Створити опис тимчасової таблиці(жовта лінія). Дозволяє задати ім'я тимчасової таблиці, яка розташована поза цим запитом, також можна використовувати для передачі в запит таблиці значень;
  • Змінити поточний елемент(Зелена лінія). Дозволяє перейти до виділеного вкладеного запиту, тимчасової таблиці або опису тимчасової таблиці;
  • Видалити поточний елемент(Блакитна лінія). Видаляє виділену таблицю з вибраних таблиць;
  • Замінити таблицю(Синя лінія). Відкриває діалог заміни виділеної таблиці. Корисно, якщо ви неправильно вибрали віртуальну таблицю регістру, оскільки відбувається позиціонування на поточній вибраній таблиці у списку.
  • Параметри віртуальної таблиці(Фіолетова лінія). Відкриває параметри віртуальної таблиці регістру.

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

  • Або двічі клацнути по полю;
  • Або скористатися кнопками ">" або ">>";
  • Також можна додати нове поле самостійно, використовуючи довільний вираз із полів вибраних таблиць та функцій мови запитів.

Над розділом Поляє ряд кнопок. Про створення полів за допомогою довільних виразів буде детальніше розказано на наступних уроках. А поки що дам тільки короткі пояснення.

  • Додати(Зелена лінія). Призначена для додавання нового поля за допомогою редактора довільних виразів;
  • Змінити поточний елемент(Червона лінія). Дозволяє змінити виділене поле за допомогою редактора;
  • Видалити поточний(Синя лінія). Видаляє виділене поле зі списку.

Практична частина уроку №1

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

Приступимо до створення запиту за номенклатурою:

  • Створимо новий запит і відкриємо конструктор методом, зазначеним на початку уроку;
  • В розділі База данихвідкриємо гілку Довідникиі знайдемо там довідник Номенклатура;
  • Виділимо його і за допомогою кнопки «>» перенесемо до розділу Таблиці;
  • В розділі Таблицірозкриємо довідник номенклатура за допомогою значка "+";
  • У списку полів, що розкрився, знайдемо поле Посиланняі перенесемо його в розділ Поляза допомогою кнопки «>»
  • Запит по номенклатурі готовий, натискаємо кнопку «ОК» у нижній частині вікна конструктора.

Конструктор запиту має досить простий інтуїтивно зрозумілий інтерфейс. Проте розглянемо застосування конструктора запиту докладніше.

Запуск конструктора тексту запиту здійснюється контекстним меню (правою кнопкою миші) у потрібному місці програмного коду.

Розглянемо кожну вкладку конструктора докладніше. Виняток - вкладка Побудовальник, це тема для окремої розмови.

Вкладка Таблиці та поля

На цій вкладці вказується джерело даних та поля, які необхідно виводити до звіту. Власне, тут описуються конструкції ВИБРАТИ … ІЗ.

Як джерело може бути фізична таблиця бази даних, віртуальна таблиця регістрів, тимчасові таблиці, тощо.

У контекстному меню віртуальних таблиць можна задати параметри цих таблиць:

Вкладка Зв'язку

Вкладка служить для опису з'єднань кількох таблиць, створює конструкції зі словом З'ЄДНАННЯ.

Вкладка Угруповання

На цій вкладці система дозволяє групувати та підсумовувати потрібні поля результату таблиці. Описується використання конструкцій ЗГРУПУВАТИ ПО, СУМУ, МІНІМУМ, СЕРЕДНЕ, МАКСИМУМ, КІЛЬКІСТЬ, КІЛЬКІСТЬ РІЗНИХ.

Отримайте 267 відеоуроків з 1С безкоштовно:

Вкладка Умови

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

Вкладка Додатково

Вкладка Додатковорясніє всілякими параметрами, які є дуже важливими. Розглянемо кожну з властивостей.

Угруповання Вибірка записів:

  • Перші N— параметр, який повертає лише N записів (оператор ПЕРШІ)
  • Без повторюваних- Забезпечує унікальність отриманих записів (операторРІЗНІ )
  • Дозволені— дозволяє вибирати тільки записи, які дозволяє вибрати система з урахуванням(конструкція ДОЗВОЛЕНІ)

Угруповання Тип запитувизначає, яким буде тип запиту: вибірка даних, створення тимчасових таблиці або знищення тимчасової таблиці.

Нижче є прапор Блокувати отримані дані для подальшої зміни. Він дозволяє увімкнути можливість встановлення блокування даних, що забезпечує збереження даних від моменту їх читання до зміни (актуально лише для Автоматичного режиму блокувань, конструкція).

Вкладка Об'єднання/Псевдоніми

На цій вкладці конструктора запитів встановлюється можливість поєднання різних таблиць та псевдоніми (конструкція ЯК). У лівій частині вказуються таблиці, якщо встановити прапори навпроти таблиці, будуть використовуватися конструкції ОБ'ЄДНАТИ, інакше - ОБ'ЄДНАТИ ВСЕ (відмінності двох способів). У правій частині вказуються відповідності полів у різних таблицях, якщо відповідність не вказана, запит повертатиме NULL.

Вкладка Порядок

Тут вказується порядок сортування значень (ПОРЯДОЧИТИ ПО) - за спаданням (УБУВАННЯ) або зростання (ВІР).

Також є цікавий прапор. Автоупорядкування(У запиті - АВТОУпорядкування). За замовчуванням система 1С 8.3 виводить дані в «хаотичному» порядку. Якщо встановити цей прапор, система сортуватиме дані за внутрішніми даними.

Вкладка Пакет запитів

На вкладці конструктора запитів можна також використовувати її в ролі навігації. У тексті запиту пакети поділяються символом ";" (точка з комою).

Кнопка «Запит» у конструкторі запитів

У нижньому лівому куті конструктора запиту є кнопка Запит, за допомогою якого можна в будь-який момент переглянути текст запиту:

У цьому вікні можна внести корективи до запиту та виконати його.

Одним із основних інструментів обробки даних у СУБД є запити. У Microsoft Access є зручний для користувача графічний засіб формування запиту на зразок - QBE (Query By Example), за допомогою якого легко може бути побудований складний запит.

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

За допомогою запиту можна виконати такі види обробки даних:

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

Послідовне виконання низки запитів дозволяє вирішувати досить складні завдання, не вдаючись до програмування.

У Access може бути створено кілька видів запиту:

  • Запит на вибірку- Вибирає дані з взаємопов'язаних таблиць та інших запитів. Результатом є таблиця, яка існує до закриття запиту.
  • Запит на створення таблиці— ґрунтується на запиті вибірки, але на відміну від нього результат запиту зберігається у новій таблиці.
  • Запити на оновлення, додавання, видаленняє запитами дії, в результаті виконання яких змінюються дані в таблицях.

Вікно запиту

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

Схема даних запиту

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

Бланк запиту на зразок

Бланк запиту на зразок представлений у вигляді таблиці в нижній панелі вікна запиту. До формування запиту ця таблиця порожня.

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

При заповненні бланка запиту необхідно:

  • у рядок Поле включити імена полів, які використовуються у запиті;
  • у рядку Виведення на екран відзначити поля, які мають бути включені до результуючої таблиці;
  • у рядку Умова відбору вказати умови відбору записів;
  • у рядку Сортування вибрати порядок сортування записів результату.

Поля бланка запиту

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

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

  • у першому рядку бланка запиту Поле клацанням миші викликати появу кнопки списку та вибрати зі списку потрібне поле. Список містить усі поля таблиць, представлених у бланку запиту;
  • перетягнути поле зі списку полів таблиці в схемі даних запиту в перший рядок бланка запиту.

У списку полів кожної таблиці першому місці стоїть символ * , що означає " всі поля таблиці " . Цей пункт вибирається, якщо до запиту включаються всі поля.

Для видалення поля в бланку запиту треба виділити стовпець, що видаляється, клацнувши кнопкою миші в області маркування стовпця, і натиснути клавішу DEL або виконати пункт меню Правка/Видалити стовпець.

Після завершення конструювання запиту його можна відкрити для перегляду. Форма перегляду запиту – таблична. Проте, це віртуальна таблиця, тобто. формується в оперативній пам'яті під час відкриття запиту. Наприклад, для вікна конструктора, показаного вище, отримаємо таку таблицю:

Умови відбору записів

Умовою відбору є вираз, що складається з операторів порівняння та операндів, які використовуються для порівняння. Як операнди вирази можуть використовуватися: літерали, константи, ідентифікатори (посилання).

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

Константами є значення, що не змінюються, наприклад, True, False, Так, Ні, Null (константи автоматично визначаються в Access).

Ідентифікатор є посиланням на значення поля, елемент управління або властивість. Ідентифікаторами може бути імена полів, таблиць, запитів, форм, звітів тощо. Вони повинні полягати у квадратні дужки. У багатьох випадках Access здійснює автоматичну підстановку дужок. Якщо необхідно вказати посилання на поле в конкретній таблиці, формі, звіті, то перед ім'ям поля ставиться ім'я таблиці, також укладене в квадратні дужки та відокремлене від імені поля знак оклику. Наприклад, [Ім'я таблиці]![Ім'я поля].

У висловленні умови відбору допускається використання операторів порівняння та логічних операторів: =,<, >, <>, Between , In , Like , And , Or , Not , які визначають операцію однією чи кількома операндами. Якщо вираз за умови відбору не містить оператора, то за промовчанням використовується оператор =.

Текстові значення у виразі вводяться в лапках, якщо вони містять пробіли або розділові знаки. В іншому випадку лапки можна не вводити, вони будуть автоматично додані.

Допускається використання операторів шаблону - зірочка * і знак запитання?.

Оператор Between дозволяє задати інтервал для числового значення. Наприклад,

Between 10 And 100

дає інтервал від 10 до 100.

Оператор In дозволяє виконати перевірку на рівність будь-якого значення зі списку, що задається у круглих дужках. Наприклад,

In ("Математика", "Інформатика", "Історія")

Оператор Like дозволяє використовувати зразки, що використовують символи шаблону при пошуку в текстових полях. Наприклад,

Like "Іванов*"

Умови відбору, задані в одному рядку, пов'язуються за допомогою логічної операції "І", задані у різних рядках - за допомогою логічної операції "АБО". Ці операції можуть бути задані у виразі умови відбору за допомогою операторів AND і OR відповідно.

Сформувати умову відбору можна за допомогою виразника. Перейти у вікно Побудовник виразівможна, натиснувши кнопку Побудувати на панелі інструментів, або вибравши команду Побудувати в контекстно-залежному меню. Курсор миші має бути встановлений у комірці введення умови відбору.

Після введення виразу в бланк та натискання клавіші Enter Access виконує синтаксичний аналіз виразу та відображає його відповідно до результатів цього аналізу.

Контрольні питання

  1. Навіщо призначені запити?
  2. Які види обробки даних виконують запити?
  3. Які типи запитів реалізовані в Access?
  4. З яких частин складається вікно конструктора запиту?
  5. Чи обов'язкова наявність схеми даних проекту під час розробки запиту?
  6. Напишіть способи заповнення перших двох рядків полів бланка запиту.
  7. Що таке умова відбору записів? Як його поставити? Наведіть приклади.
  8. Які спільні кроки технологій створення запитів на створення, оновлення та додавання?
  9. У чому подібність і різницю між таблицями БД і запитами?