Створення та виконання запиту на видалення

Створення та виконання запиту на видалення

Увага! : Цю статтю перекладено за допомогою служби машинного перекладу; див. застереження. Версію цієї статті англійською мовою див. тут для отримання довідки.

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

Примітка : Перед видаленням даних або виконання запиту на видалення, переконайтеся, що у вас є резервну копію бази даних Access для настільних комп'ютерів.

Якщо необхідно видалити лише кілька записів, використовувати запит не потрібно. Просто відкрийте таблицю у вікні табличного подання даних, виберіть поля (стовпці) або записи (рядки), які потрібно видалити, і натисніть клавішу Delete.

Увага! : Відомості в цій статті призначено для використання тільки з локальними базами даних. Не можна видалити за допомогою або оновлювати запити у веб-програмах Access.

У цій статті

Вибір типу запиту

Використання запиту на видалення

Використання запиту на оновлення

Додаткові відомості

Поради з виправлення неполадок

Вибір типу запиту

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

Тип запиту

Призначення

Результати

Запит на видалення

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

Примітка :  Якщо записи розташовано на боці "один" зв’язку "один-до-багатьох", перед запуском запиту на видалення може знадобитися змінити зв’язок. Див. розділ про видалення даних із пов’язаних таблиць.

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

Запит на оновлення

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

Полегшує видалення значень, оновлюючи наявні значення або до Null-значення (тобто дані відсутні), або до рядка з нульовою довжиною (пара подвійних лапок без пробілу між ними).

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

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

  • Переконайтеся, що файл не призначено лише для читання.

    1. Клацніть правою кнопкою миші кнопку Пуск і виберіть пункт Відкрити Провідник Windows.

    2. Клацніть файл бази даних правою кнопкою та виберіть пункт Властивості.

    3. Подивіться, чи не вибрано атрибут Лише читання.

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

  • Переконайтеся, що ввімкнуто вміст бази даних. За промовчанням програма Access блокує всі активні запити (на видалення, оновлення та створення таблиці), якщо базу даних відразу не позначено як надійну. Додаткові відомості про довіру базі даних див. у розділі Вимкнення неактивного режиму для розблокування запиту.

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

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

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

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

  1. Клацніть вкладку Файл і виберіть пункт Відкрити.

  2. Знайдіть і виберіть базу даних, потім клацніть стрілку поруч із кнопкою Відкрити та виберіть пункт Монопольний доступ.

    відкриття файлу в монопольному доступі

Резервне копіювання бази даних

  1. Клацніть вкладку Файл і наведіть вказівник на пункт Зберегти як.

  2. У розділі Зберегти базу даних як виберіть пункт Створити резервну копію бази даних. Застосунок Access закриє вихідний файл, створить резервну копію та знову відкриє вихідний файл.

  3. Виберіть пункт Зберегти як і вкажіть ім’я та розташування резервної копії, а потім натисніть кнопку Зберегти.

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

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

Використання запиту на видалення

Щоб створити запит на видалення, відкрийте вкладку Створити й у групі Запити натисніть кнопку Макет запиту. У діалоговому вікні Відображення таблиці двічі клацніть кожну таблицю, з якої потрібно видалити записи, а потім натисніть кнопку Закрити.

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

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

Увага! :  Використовуйте умови, щоб повернути лише записи, які потрібно видалити. Інакше запит на видалення видаляє кожний запис у таблиці.

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

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

  1. На вкладці Конструктор виберіть пункт Подання, а потім – пункт Подання таблиці.

  2. Переконайтеся, що запит повертає записи, які потрібно видалити, а потім натисніть сполучення клавіш Ctrl+S, щоб зберегти запит.

  3. Щоб запустити запит, двічі клацніть його в області переходів.

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

Використання запиту на оновлення

Примітка : Параметр запиту на оновлення не можна використовувати у веб-програми Access.

У цьому розділі пояснюється, як використовувати запит на оновлення для видалення окремих полів із таблиць. Пам’ятайте, що запуск запиту на оновлення для видалення даних замінить наявні значення або на Null-значення, або на рядок нульової довжини (пара подвійних лапок без пробілу між ними) залежно від указаної умови.

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

  2. Виберіть таблицю, з якої потрібно видалити дані, (якщо таблиця пов’язана, виберіть таблицю на боці зв’язку "один"), натисніть кнопку Додати, а потім – кнопку Закрити.

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

  3. Двічі клацніть зірочку (*), щоб додати всі поля в таблиці до сітки макета запиту. Якщо додати всі поля таблиці, це дасть змогу запиту на видалення видаляти цілі записи (рядки) з таблиці.

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

    Примітка :  Умови використовуються, щоб повернути лише записи, які потрібно змінити. В іншому випадку запит на оновлення встановлює Null-значення для кожного запису в кожному з полів запиту.

  4. На вкладці Конструктор у групі Результати натисніть кнопку Вигляд і виберіть пункт Подання таблиці.

  5. Переконайтеся, що запит повертає записи, для яких потрібно встановити Null-значення або рядок нульової довжини (пару подвійних лапок без пробілу між ними("")).

  6. За потреби повторіть кроки 3-5 і змініть поля або критерії, доки запит повертає дані, які потрібно видалити а потім натисніть сполучення клавіш CTRL + S, щоб зберегти запит.

  7. Щоб запустити запит, двічі клацніть його в області переходів.

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

Додаткові відомості

Видалення даних із пов’язаних таблиць

Щоб видалити дані з кількох пов’язаних таблиць, для кожного зв’язку потрібно ввімкнути параметри Застосувати цілісність посилань і Каскадне видалення пов’язаних полів. Це надає запиту можливість видаляти дані з таблиць на обох боках зв’язку: "один" і "багато". Перед видаленням пов’язаних даних потрібно перевірити перелічене нижче.

  • Визначте, які запити розташовано на боці зв’язку "один", а які – на боці "багато".

  • Якщо потрібно видалити записи на боці зв’язку "один", а також пов’язані записи на боці зв’язку "багато", необхідно ввімкнути набір правил, що називається цілісністю посилань, а також увімкнути каскадне видалення. Описані в цьому розділі кроки пояснюють цілісність посилань і виконання обох завдань.

  • Якщо потрібно видалити записи лише на боці зв’язку "один", необхідно спочатку видалити цей зв’язок, а потім видалити дані.

Якщо потрібно видалити дані лише на боці зв’язку "багато", можна створити й запустити запит на видалення, не змінюючи зв’язок.

Щоб дізнатися, які записи розташовано на боці зв’язку "один", а які на боці зв’язку "багато", на вкладці Знаряддя бази даних у групі Зв’язки натисніть кнопку Зв’язки. На вкладці Зв’язки відобразяться таблиці в базі даних і зв’язки між ними. Кожний зв’язок показано як лінію, що з’єднує таблиці між полями.

Рисунок нижче показує типовий зв’язок. Більшість зв’язків у базі даних, якщо не всі, мають бік "один" і бік "багато". На схемі зв’язку бік "один" позначено числом (1), а бік "багато" – знаком нескінченності ().

Зв’язок між двома таблицями

Якщо ви видаляєте записи на боці зв’язку "один", ви також видаляєте пов’язані записи на боці зв’язку "багато". Однак, якщо ви видаляєте записи на боці зв’язку "багато", ви зазвичай не видаляєте записи на боці "один".

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

Змінення зв’язку

Виконуйте ці кроки, лише коли потрібно видалити дані на обох боках зв’язку ("один" і "багато").

  1. На вкладці Знаряддя бази даних у групі Зв’язки натисніть кнопку Зв’язки.

  2. Правою кнопкою миші клацніть зв’язок (лінію), що з’єднує таблиці, яких стосується операція видалення, і в контекстному меню виберіть пункт Змінити зв’язок.

  3. У діалоговому вікні Редагування зв’язків переконайтеся, що встановлено прапорець Застосувати цілісність посилань.

  4. Установіть прапорець Каскадне видалення пов’язаних полів.

    Примітка :  Доки цю властивість не буде знову вимкнуто, видалення запису на боці зв’язку "один" призводитиме до видалення всіх пов’язаних записів на боці зв’язку "багато".

  5. Натисніть кнопку OK, закрийте область Зв’язки та перейдіть до наступних кроків.

Видалення зв’язку

  1. Відкрийте область Зв’язки, якщо її ще не відкрито.

  2. На вкладці Знаряддя бази даних у групі Зв’язки натисніть кнопку Зв’язки.

    Занотуйте поля, між якими встановлено зв’язок, щоб потім відновити цей зв’язок після видалення даних.

  3. Правою кнопкою миші клацніть зв’язок (лінію), що з’єднує таблиці, яких стосується операція видалення, і в контекстному меню виберіть пункт Видалити.

Примітка : Щоб відновити зв’язок, виконайте описані вище кроки для відкриття області Зв’язки, а потім перетягніть поле первинного ключа з таблиці "один" на зовнішній ключ таблиці "багато". Відобразиться діалогове вікно Редагування зв’язків. Якщо до старого зв’язку застосовувалася цілісність посилань, установіть прапорець Застосувати цілісність посилань і натисніть кнопку Створити. В іншому випадку просто натисніть кнопку Створити.

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

Зразки умов для вибіркових запитів

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

Умови

Вплив

> 234

Повертає всі числа, більші за 234. Для пошуку всіх чисел, менших за 234, укажіть умову < 234.

>="Київ"

Повертає всі записи від запису Київ до кінця алфавіту.

Between #2.2.2010# And #12.1.2010#

Повертає дати від 2 лютого 2010 до 1 грудня 2010 (ANSI-89). Якщо в базі даних використовується набір символів узагальнення ANSI-92, замість знаків фунта (#) вводьте одинарні лапки ('). Наприклад: Between '02.02.2010' And '01.12.2010'.

Not "Німеччина"

Знаходить усі записи, у яких точний вміст поля не збігається зі словом "Німеччина". Ця умова повертає записи, які містять інші символи, крім слова "Німеччина", наприклад "Німеччина (євро)" або "Європа (Німеччина)".

Not "Т*"

Знаходить усі записи, крім тих, які починаються з літери "Т". Якщо в базі даних використовується набір символів узагальнення ANSI-92, замість зірочки (*) вводьте символ відсотка (%).

Not "*т"

Знаходить усі записи, які не закінчуються на букву "т". Якщо в базі даних використовується набір символів узагальнення ANSI-92, замість зірочки (*) вводьте символ відсотка (%).

In(Канада,Сполучене королівство)

Знаходить у списку всі записи, які містять слова "Канада" або "Сполучене королівство".

Like "[A-Д]*"

У текстовому полі знаходить усі записи, які починаються з букв від А до Д. Якщо в базі даних використовується набір символів узагальнення ANSI-92, замість зірочки (*) вводьте символ відсотка (%).

Like "*но*"

Знаходить усі записи, які містять буквосполучення "но". Якщо в базі даних використовується набір символів узагальнення ANSI-92, замість зірочки (*) вводьте символ відсотка (%).

Like "Богдан Лева?"

Знаходить усі записи, які починаються зі слова "Богдан", а також містять другий рядок із 5 символів, у якому перші чотири букви – це "Лева", а остання буква невідома. Якщо база даних використовує набір символів узагальнення ANSI-92, замість знака питання (?) вводьте символ підкреслення (_).

#02.02.2010#

Знаходить усі записи для 2 лютого 2010 року. Якщо в базі даних використовується набір символів узагальнення ANSI-92, введіть дату в одинарних лапках замість знаків фунта ('02.02.10').

< Date() - 30

Використовує функцію Date, щоб повернути всі дати, раніші від 30 днів тому.

Date()

Використовує функцію Date, щоб повернути всі записи, які містять сьогоднішню дату.

Between Date() And DateAdd("M", 3, Date())

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

Is Null

Повертає всі записи, які містять Null-значення (пусте або невизначене).

Is Not Null

Повертає всі записи, які містять будь-яке значення (не Null-значення).

""

Повертає всі записи, які містять рядок нульової довжини. Рядки нульової довжини використовуються, якщо потрібно додати значення до обов’язкового поля, але фактичне значення ще невідоме. Наприклад, в обов’язковому полі потрібно вказати номер факсу, але в деяких клієнтів немає факсів. Тоді замість числа вводяться подвійні лапки без пробілу між ними ("").

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

Поради з виправлення неполадок

Чому я бачу це повідомлення про помилку, і як виправити цю помилку?

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

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

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

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

  3. Клацніть конструктор запиту, щоб відобразити властивості запиту (а не поля).

  4. У вікні властивостей запиту знайдіть властивість Унікальні записи та встановіть для неї значення Так.

Припинення блокування запиту в неактивному режимі

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

Якщо після виконання запиту на змінення результати не відображаються, перевірте наявність такого повідомлення в рядку стану програми Access:

Неактивний режим заблокував цю дію або подію.

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

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

Для отримання додаткових відомостей про неактивний режим і систему безпеки Access див. статтю Поведінка надійних і ненадійних об’єктів баз даних.

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

Примітка : Застереження про машинний переклад: Цю статтю перекладено комп’ютерною системою без втручання людини. Корпорація Майкрософт пропонує таку послугу, щоб іншомовні користувачі могли дізнаватися про продукти, служби й технології Microsoft. Оскільки статтю перекладено за допомогою служби машинного перекладу, вона може містити смислові, синтаксичні або граматичні помилки.

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×