Особливості роботи із запитами на зміну

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

Для створення резервної копії таблиці необхідно перейти у вікно БД, вибрати таблицю, в якій відбудуться зміни, потім скористатися командою Правка → Копіювати. виконати команду Правка → Вставити і в діалоговому вікні вказати ім'я для копії таблиці.

Створення запитів на оновлення, додавання і видалення неможливо без руйнування цілісності даних, тому вправлятися краще на створеної копії БД.

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

Access зазначає запити-дії спеціальними значками.

Запити на оновлення записів

Цей тип запитів-дій призначений для зміни значень деяких полів для всіх обраних записів.

Після входу в режим Конструктор запиту потрібно вибрати команду Запрос → Оновлення. в результаті в бланку запиту з'явиться рядок Оновлення. Цей рядок використовується для того, щоб задати нові значення для обраних записів.

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

Приклад 13. Створити запит на оновлення Переоцінка підакцизних товарів, який збільшує на 10% ціну підакцизних товарів:

- зробити запит на вибірку, який відбирає підакцизний товар;

- вказати тип запиту - Оновлення;

- для поля Ціна з таблиці Товари в рядку Оновлення задати умову: [Товари]! [Ціна] * 1,2.

Тепер при запуску запиту ціни підакцизних товарів будуть збільшуватися на 20%.

Запити на створення таблиці

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

Для цього в режимі Конструктор запитів потрібно вибрати команду Запрос → Створення таблиці. Access виведе на екран діалогове вікно Створення таблиці. де потрібно вказати ім'я таблиці, в якій будуть збережені результати вибірки.

У к а з а н і е. Рекомендується перед перевіркою роботи запиту на зміну попередньо зробити резервні копії оброблюваних таблиць, а також копію самої БД (меню Файл → Резервна копія бази даних).

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

Цей вид запитів служить для видалення групи записів БД, які відповідають певним умовам. Звичайний запит можна перетворити в запит на видалення за допомогою команди Запрос → Видалення в режимі Конструктор запитів. При цьому в бланку запиту з'явиться рядок Видалення. де можна ввести умову для видалення записів.

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

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

- таблиця є частиною відносини «один-ко-многим»;

- в якості умови забезпечення цілісності даних використана опція Каскадне видалення пов'язаних полів.

Наприклад, ви вирішили виключити з БД Молочний відділ. при цьому існує також таблиця Товари. яка пов'язана з таблицею Відділи. ставленням «один-ко-многим». Якщо для забезпечення цілісності даних обрана опція Каскадне видалення пов'язаних полів. в результаті видалення запису про відділ будуть видалені всі записи по товарах, що продаються в цьому відділі!

А при використанні запитів на видалення ви не побачите попередження. MS Access видасть тільки інформацію про кількість видаляються записів, але нічого не скаже про каскадне видалення.

Приклад 14. Створити запит, що видаляє з БД відомості про постачання, які стосуються конкретно вказаної дати.

У к а з а н і я:

- створити запит на вибірку, що відображає всі дати поставок з таблиці Поставки;

- в рядку Видалення вибрати Умова;

- в рядку Условие отбора задати необхідний параметр (рис. 30).

Мал. 30. Конструктор запиту на видалення

Схожі статті