Когато искате бързо да изтриете много данни или да изтривате набор от данни редовно в настолна база данни на Access, заявката за изтриване или актуализиране може да е полезна, защото заявките дават възможност да зададете критерии за бързо намиране и изтриване на данните. Използването на заявка може да ви спести време и защото можете да използвате повторно записана заявка.
Забележка
Преди да изтриете данни или да изпълните заявка за изтриване, се уверете, че имате архивно копие на вашата настолна база данни на Access.
Ако искате да изтриете само няколко записа, нямате нужда от заявка. Просто отворете таблицата в изглед на лист с данни, изберете полетата (колоните) или записите (редовете), които искате да изтриете, и след това натиснете клавиша DELETE.
Важно
Информацията в тази статия е предвидена за използване само с настолни бази данни. Не можете да използвате заявки за изтриване или актуализиране в уеб приложения на Access.
В тази статия
- Избор на тип заявка
- Използване на заявка за изтриване
- Използване на заявка за актуализиране
- Допълнителна информация
- Съвети за отстраняване на неизправности
Избор на тип заявка
Можете да използвате заявка за актуализиране или заявка за изтриване, за да изтриете данни от вашата база данни. Изберете заявка въз основа на подробностите в следващата таблица:
| Тип заявка | Кога да се използва | Резултати |
|---|---|---|
| Използване на заявка за изтриване | За да премахнете цели записи (редове) от таблица или от две свързани таблици едновременно. Забележка: Ако записите се намират от страната "един" на релация "един към много", може да се наложи да промените релацията, преди да изпълните заявката за изтриване. Вижте раздела за изтриване на данни от свързани таблици. |
Заявките за изтриване премахват всички данни във всяко поле, включително стойността на ключа, която прави записа уникален |
| Използване на заявка за актуализиране | За да изтриете отделни стойности на полета от таблица. | Улеснява изтриването на стойности, като актуализира съществуващите стойности или до стойност Null (т.е. няма данни), или до низ с нулева дължина (чифт двойни кавички без интервал между тях). |
Неща, които трябва да проверите, преди да използвате заявка за изтриване на данни
Уверете се, че файлът не е файл само за четене:
- Щракнете с десен бутон върху "Старт " и щракнете върху "Отваряне на Windows Explorer".
- Щракнете с десния бутон върху файла на базата данни и щракнете върху "Свойства".
- Вижте дали е избран атрибутът "Само за четене ".
Уверете се, че имате необходимите разрешения за изтриване на записи от базата данни. Ако не сте сигурни, обърнете се към своя системен администратор или към конструктора на базата данни.
Уверете се, че сте разрешили съдържание в базата данни. По подразбиране Access блокира всички заявки за действия (заявки за изтриване, актуализиране и създаване на таблица), освен ако първо не се доверите на базата данни. За информация за доверяването на база данни вижте раздела Отменяне на блокиране на заявка в дезактивиран режим.
Помолете другите потребители на базата данни да затворят всички таблици, формуляри, заявки и отчети, които използват данните, които искате да изтриете. Това помага за избягване на нарушения на заключването.
Преди да редактирате или изтриете записи, направете архивно копие на базата данни е добра идея, в случай че искате да възстановите направените промени.
Съвет
Ако голям брой потребители се свързват с базата данни, може да се наложи да затворите базата данни и след това да я отворите отново в монополен режим.
За да отворите база данни в монополен режим
- Щракнете върху раздела> "Файл" Отвори.
- Намерете и посочете, за да изберете базата данни, щракнете върху стрелката до бутона " Отвори " и след това щракнете върху "Отвори ексклузивно".
Архивиране на базата данни
- Щракнете върху раздела "Файл " и посочете "Запиши като".
- Щракнете върху "Запиши базата данни като" и щракнете върху "Архивиране на базата данни". Access затваря първоначалния файл, създава архивно копие и след това отваря отново първоначалния файл.
- Щракнете върху "Запиши като ", посочете име и местоположение за архивното копие, след което щракнете върху "Запиши".
Забележка
Ако използвате база данни само за четене или база данни, създадена в предишната версия на Access, може да получите съобщение, че не е възможно да се създаде архивно копие на базата данни.
За да възстановите архивно копие, затворете и преименувайте първоначалния файл, така че архивното копие да може да използва името на първоначалната версия. Дайте на архивното копие името на първоначалната версия и отворете преименуваното архивно копие в Access.
Използване на заявка за изтриване
За да създадете заявка за изтриване, щракнете върху раздела "Създаване", в групата "Заявки" щракнете върху "Проектиране на заявка". Щракнете двукратно върху всяка таблица, от която искате да изтриете записи, и след това щракнете върху "Затвори".
Таблицата се показва като прозорец в горната част на мрежата на заявката за проектиране. От списъка с полета щракнете двукратно върху звездичката (*), за да добавите всички полета в таблицата към мрежата за проектиране.
Използване на определен критерий в заявка за изтриване
Важно
Използвайте критерии, за да се върнат само записите, които искате да изтриете. В противен случай заявката за изтриване премахва всички записи в таблицата.
Щракнете двукратно върху полето, което искате да зададете като критерии за изтриване, въведете един от критериите в реда " Критерии " на конструктора на заявки и след това изчистете квадратчето за отметка "Показване " за всяко поле за критерии.
Пример кога може да искате да използвате тази опция: Да предположим, че искате да премахнете всички чакащи поръчки за даден клиент. За да намерите само тези записи, трябва да добавите полетата "ИД на клиента" и "Дата на поръчка" към мрежата за проектиране на заявка и след това да въведете ИД номера на клиента и датата, на която поръчките на този клиенти стават невалидни.
- В раздела " Проектиране " щракнете върху "Изглед>на лист с данни".
- Проверете дали заявката връща записите, които искате да изтриете, и след това натиснете CTRL+S, за да запишете заявката.
- За да изпълните заявката, щракнете двукратно върху заявката в навигационния екран.
Използване на заявка за актуализиране
Забележка
Не можете да използвате опцията за заявка за актуализиране в уеб приложение на Access.
Този раздел обяснява как да използвате заявка за актуализиране, за да изтриете отделни полета от таблици. Не забравяйте, че изпълнението на заявка за актуализиране с цел изтриване на данни ще промени съществуващите стойности или в NULL, или в низ с нулева дължина (чифт двойни кавички без интервал между тях) в зависимост от критериите, които задавате.
Щракнете върху раздела " Създаване " и в групата "Заявки " щракнете върху "Проектиране на заявка".
Изберете таблицата с данните, които искате да изтриете (ако таблицата е свързана, изберете таблицата от страната "един" на релацията), щракнете върху "Добави" и след това щракнете върху "Затвори".
Таблицата се показва като прозорец в горната част на мрежата на заявката за проектиране. В прозореца са изредени всички полета в избраната таблица.Щракнете двукратно върху звездичката (*), за да добавите всички полета в таблицата към мрежата за проектиране. Добавянето на всички полета на таблицата позволява на заявката за изтриване да премахне цели записи (редове) от таблицата.
Ако желаете, можете да въведете критерии за едно или повече полета в реда ' 'Критерии '' на конструктора и след това да изчистите квадратчето за отметка ''Показване '' за всяко поле за критерии. За повече информация за използването на критерии вж. таблицата "Примерни критерии за заявки за избиране ".Забележка
Можете да използвате критерии, за да се върнат само записите, които искате да промените. В противен случай заявката за актуализиране задава NULL всеки запис във всяко от полетата във вашата заявка.
В раздела Проектиране, в групата Резултати щракнете върху Изглед и след това щракнете върху Изглед на лист с данни.
Проверете дали заявката връща записите, които искате да зададете като NULL или низ с нулева дължина (чифт двойни кавички без интервал между тях ("").
Ако е необходимо, повторете стъпките от 3 до 5 и променяйте полетата или критериите, докато заявката не върне само данните, които искате да изтриете, и след това натиснете CTRL+S, за да запишете заявката.
За да изпълните заявката, щракнете двукратно върху заявката в навигационния екран.
Допълнителна информация
Изтриване на данни от свързани таблици
Ако искате да изтриете данни от няколко свързани таблици, трябва да разрешите опциите " Цялост на връзките " и "Каскадно изтриване на свързаните записи " за всяка релация. Това позволява на заявката ви да изтрива данни от таблиците от страните "един" и "много" на релацията. Подготовката за изтриване на свързани данни изисква проверка на следното:
- Определете кои записи се намират от страната "един" на релацията и кои от страната "много".
- Ако трябва да изтриете записи от страната "един" на релацията и свързаните записи от страната "много", разрешавате набор от правила, наречен цялост на връзките, и разрешавате каскадни изтривания. Стъпките в този раздел обясняват целостта на връзките и начина на изпълнение и на двете задачи.
- Ако трябва да изтриете записи само от страната "един" на релацията, първо изтривате тази релация и след това изтривате данните.
Ако трябва да премахнете данни само от страната "много" на релацията, можете да създадете и изпълните вашата заявка за изтриване, без да е необходимо да променяте релацията.
За да разберете кои записи се намират в страните "един" и "много" на релация, в раздела "Инструменти за бази данни ", в групата "Релации " щракнете върху "Релации". Разделът "Релации" показва таблиците във вашата база данни и релациите. Всяка релация се описва като линия, която свързва таблиците между полетата.
Следващата фигура показва типична релация. Повечето, ако не и всички, релации в базата данни имат страни "един" и "много". Диаграмата на релациите обозначава страната "един" с цифрата едно (1) и страната "много" със символа за безкрайност (∞).
Когато изтривате записи от страната "един" на релацията, можете също да изтриете всички свързани записи от страната "много" на релацията. Когато обаче изтривате записи от страната "много" на релация, обикновено не изтривате записи от страната "един".
Освен това Access автоматично налага набор от правила, наречени цялост на връзките. Тези правила гарантират, че външните ключове в базата данни съдържат правилните стойности. Външният ключ е колона, чиито стойности съвпадат със стойностите в колоната за първичния ключ на друга таблица.
Редактиране на релацията
Следвайте тези стъпки само когато трябва да изтриете данни от страните "един" и "много" на релация.
В раздела Инструменти за бази данни, в групата Релации щракнете върху Релации.
Щракнете с десния бутон върху релацията (линията), свързваща таблиците, включени в операцията за изтриване, и след това щракнете върху "Редактиране на релация " в контекстното меню.
В диалоговия прозорец "Редактиране на релации " се уверете, че е отметнато квадратчето Поддържай целостта на връзките .
Изберете квадратчето за отметка "Каскадно изтриване на свързаните записи ".
Забележка
Докато не забраните отново това свойство, изтриването на запис от страната "един" на релацията ще изтрие всички свързани записи от страната "много" на релацията.
Щракнете върху OK, затворете екрана " Релации " и след това преминете към следващата група стъпки.
Изтриване на релация
- Ако все още не сте го направили, отворете екрана "Релации ".
- В раздела Инструменти за бази данни, в групата Релации щракнете върху Релации.
Отбележете си полетата, включени в релацията, за да можете да възстановите релацията, след като изтриете данните. - Щракнете с десния бутон върху релацията (линията), свързваща таблиците, включени в операцията за изтриване, и след това щракнете върху "Изтрий " в контекстното меню.
Забележка
За да възстановите релацията, следвайте предишните стъпки, за да отворите екрана "Релации ", след което плъзнете полето за първичен ключ от таблицата "един" и го пуснете в полето външен ключ на таблицата "много". Появява се диалоговият прозорец "Редактиране на релация ". Ако старата релация налагаше целостта на връзките, изберете "Поддържане на целостта на връзките" и след това щракнете върху "Създай". В противен случай просто щракнете върху "Създай".
Примерни критерии за заявки за избиране
Следващата таблица съдържа някои примерни критерии, които можете да използвате в заявки за избиране, когато искате да сте сигурни, че изтривате само данните, които искате да бъдат изтрити. Някои от тези примери използват заместващи символи.
| "критерий" | Ефект |
|---|---|
| > 234 | Връща всички числа, по-големи от 234. За да намерите всички числа, по-малки от 234, използвайте < 234. |
| >= "Тодоров" | Връща всички записи от Тодоров до края на азбуката. |
| Between #2/2/2010# And #12/1/2010# | Връща датите от 2-2-2010 до 1-12-2010 (ANSI-89). Ако вашата база данни използва заместващи символи ANSI-92, използвайте единични кавички (') вместо знака за диез (#). Пример: Between '2/2/2010' And '1/12/2010'. |
| Not "Германия" | Намира всички данни, в които съдържанието на полето не е точно равно на "Германия." Критерият ще върне записи, които съдържат и други знаци, освен "Германия," например "Германия (евро)" или "Европа (Германия)". |
| Not "T*" | Намира всички данни, освен тези, които започват с T. Ако вашата база данни използва набора заместващи символи ANSI-92, използвайте знака за процент (%) вместо звездичка (*). |
| Not "*т" | Намира всички данни, освен тези, които завършват на "т". Ако вашата база данни използва набора заместващи символи ANSI-92, използвайте знака за процент (%) вместо звездичка (*). |
| In(Канада,САЩ) | В списък намира всички данни, съдържащи "Канада" или "САЩ". |
| Like "[А-Й]*" | В текстово поле намира всички данни, които започват с буквите от А до Й. Ако вашата база данни използва набора заместващи символи ANSI-92, използвайте знака за процент (%) вместо звездичка (*). |
| Like "*ар*" | Намира всички данни, които съдържат поредицата от букви "ар". Ако вашата база данни използва набора заместващи символи ANSI-92, използвайте знака за процент (%) вместо звездичка (*). |
| Like "Maison Dewe?" | Намира всички данни, които започват с "Maison" и съдържат друг 5-буквен низ, в който първите 4 букви са "Dewe", а последната буква е неизвестна. Ако вашата база данни използва набора заместващи символи ANSI-92, използвайте долна черта (_) вместо въпросителен знак (?). |
| #2/2/2010# | Намира всички записи за трети март 2010. Ако вашата база данни използва набора заместващи символи ANSI-92, оградете датата с единични кавички вместо със символите ('02.02.2010'). |
| < Date() - 30 | Използва функцията Date, за да върне всички записи, по-ранни от датата преди 30 дни. |
| Date() | Използва функцията Date, за да върне всички записи, съдържащи текущата дата. |
| Between Date() And DateAdd("M", 3, Date()) | Използва функциите Date и DateAdd , за да върне всички записи между днешната дата и датата три месеца след днешната дата. |
| Is Null | Връща всички записи, които съдържат Null (празна или неопределена стойност). |
| Is Not Null | Връща всички записи, които съдържат някоя стойност (които не са null). |
| "" | Връща всички записи, които съдържат низ с нулева дължина. Използвайте низове с нулева дължина, когато трябва да добавите стойност към задължително поле, но още не знаете каква е действителната стойност. Например едно поле може да изисква номер на факс, но някои от вашите клиенти може да нямат факсове. В този случай, вместо да въведете число, вие въвеждате чифт двойни кавички без интервал между тях (""). |
Съвети за отстраняване на неизправности
Защо виждам това съобщение за грешка и как да коригирам грешката?
Ако създадете заявка за изтриване с помощта на повече от една таблица и свойството "Уникални записи " на заявката е настроено на "Не", Access показва съобщението за грешка; Не можа да се изтрие от указаните таблици , когато изпълните заявката.
За да коригирате този проблем, настройте свойството Уникални записи на заявката на Да.
- Отворете заявката за изтриване в режим на проектиране.
- Ако списъкът на свойствата на заявката не е отворен, натиснете F4, за да го отворите.
- Щракнете върху конструктора на заявки, за да покажете свойствата на заявката (а не свойствата на полетата).
- В списъка на свойствата на заявката намерете свойството Уникални записи и го настройте на Да.
Отменяне на блокиране на заявка в дезактивиран режим
Ако отворите настолна база данни, на която не сте избрали да се доверите или която не се намира в надеждно местоположение, по подразбиране Access блокира изпълнението на всички заявки за действие.
Ако се опитате да изпълните заявка за действие и видите, че нищо не се случва, проверете в лентата на състоянието на Access за следното съобщение:
Действието или събитието е блокирано от дезактивиран режим.
Когато видите това съобщение, изпълнете следната стъпка, за да разрешите блокираното съдържание:
- В лентата за съобщения с предупреждение за защита щракнете върху "Разрешаване на съдържание" и изпълнете заявката си отново.