Удаление одной или нескольких записей из базы данных

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

В этой статье объясняется, как удалять данные из базы Access. Здесь также рассказывается, как удалять содержимое отдельных полей (это относительно простая процедура) и целые записи (это может быть куда сложнее).

Примечание : Для понимания и использования информации в этой статье необходимо сначала ознакомиться с понятиями первичных и внешних ключей. Начальные сведения о первичных и внешних ключах приведены в статье Основные сведения о создании баз данных.

В этой статье

Об удалении данных

Удаление данных в поле

Удаление данных в списке

Удаление несвязанных записей из базы данных

Удаление связанных записей из базы данных с помощью запроса

Об удалении данных

В Access удалять данные можно несколькими способами (на разных уровнях). Вы можете удалять отдельные точки данных из записей, целые записи из таблицы, а также таблицы целиком.

Удалив отдельные значения, можно очистить поля записи, но при этом сохранить ее на прежнем месте в виде строки в таблице. Удалить значение относительно просто: достаточно выделить содержимое поля (полностью или частично) и нажать клавишу DELETE.

При удалении всей записи удаляются все данные в каждом ее поле, а также значение ключа, которое делает ее уникальной. При этом стирается целая строка из соответствующей таблицы. Вы можете удалять отдельные записи вручную либо с помощью запросов на удаление, которые стирают целые группы записей.

Если записи, которые требуется удалить, не связаны с другими данными в базе, процедура удаления довольно проста. Можно выделить всю строку и нажать клавишу DELETE либо создать и выполнить запрос на удаление. Если же записи, которые нужно удалить, связаны с другими данными и находятся на стороне "один" отношения "один ко многим", потребуется выполнить ряд дополнительных действий, так как по умолчанию Access не позволяет удалять связанные данные. Кроме того, помните о том, что удаление целой записи невозможно отменить. В связи с этим перед удалением данных следует всегда создавать резервную копию базы.

Удаление целых таблиц — более простая процедура, чем удаление данных из полей и удаление целый записей, однако помните, что удаление таблицы может привести к нарушению работы (в том числе полному) всей базы данных, если сделать это неправильно. Кроме того, вы теряете все содержимое таблицы без возможности восстановления. В связи с этим предварительно следует всегда создавать резервную копию базы.

Наконец, понимание концепции реляционной базы данных позволяет удалять информацию быстрее и точнее. Если вы еще не работали с Access или с реляционными базами данных, ознакомьтесь со статьей Основные сведения о создании баз данных.

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

Удаление данных в поле

Чтобы удалить данные из отдельных полей, откройте таблицу или запрос в режиме таблицы Изображение кнопки либо откройте форму ввода данных в режиме формы  Изображение кнопки или макета  Изображение кнопки .

Удаление данных из таблицы

  1. В области навигации дважды щелкните нужную таблицу или запрос. Они откроются в режиме таблицы.

  2. Выделите данные, которые нужно удалить.

    Можно выделить все значение или его часть либо просто установить курсор в поле.

  3. Если вы выделили все содержимое поля, нажмите клавишу DELETE.

    -или-

    На вкладке Главная в группе Записи нажмите кнопку Удалить.

    -или-

    Если вы установили курсор в поле, нажмите клавишу DELETE или BACKSPACE.

Удаление данных из формы

  1. В области навигации дважды щелкните нужную форму. Она откроется в режиме формы.

    -или-

    В области навигации выберите нужную форму, а затем на вкладке Главная в группе Представления щелкните Вид и выберите Режим макета.

  2. Выделите данные, которые нужно удалить.

    Можно выделить все значение или его часть либо просто установить курсор в поле.

  3. Если вы выделили все содержимое поля, нажмите клавишу DELETE.

    -или-

    На вкладке Главная в группе Записи нажмите кнопку Удалить.

    -или-

    Если вы установили курсор в поле, нажмите клавишу DELETE или BACKSPACE.

    Примечания : Access может выдать сообщение об ошибке и не позволить удалить данные. Причин этому может быть несколько.

    • Вы пытаетесь удалить данные из запроса, который в принципе не поддерживает такую возможность.    Например, невозможно изменить данные, возвращаемые перекрестным запросом, а также изменить или удалить вычисляемые поля — значения, которые рассчитываются по формуле при работе с базой, но не хранятся в таблице. Если форма основана на запросе, из которого нельзя удалить данные, вы не сможете ничего удалить из нее.

    • У вас нет разрешений на удаление данных.    Обратитесь к системному администратору или разработчику базы.

    • Поле не допускает пустые значения или значения null.    Если у вас есть необходимые разрешения, откройте таблицу в режиме конструктора и измените свойство Обязательное поле в таблице с Да на Нет.

    • Вы пытаетесь удалить информацию из списка.    Найти список в таблице или форме очень просто, потому что Access выводит рядом с ним стрелку вниз: Пустой список подстановки . Сведения об удалении значений из списка см. в следующем разделе этой статьи.

К началу страницы

Удаление данных в списке

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

Элементы списка значений хранятся в той же таблице, что и другие значения записи. В то же время данные списка подстановки находятся в одной или нескольких других таблицах. Чтобы удалить данные из списка значений, нужно открыть таблицу и внести изменения в набор элементов.

Для удаления данных из списка подстановки потребуется выполнить ряд дополнительных действий, последовательность которых зависит от того, откуда именно — из другой таблицы или запроса — берет данные запрос для этого списка. Если запрос для списка подстановки основан на таблице, определите эту таблицу и поля, которые содержат данные, отображаемые в списке. После этого откройте исходную таблицу и внесите изменения в содержимое соответствующего поля.

Если запрос в списке подстановки основан на другом запросе, откройте этот второй запрос, найдите исходную таблицу и поля, из которых он берет данные, и измените значения в этой таблице.

Ниже описана процедура удаления данных и из списка значений, и из списка подстановки.

Удаление данных из списка значений

  1. В области навигации щелкните правой кнопкой мыши таблицу, которую требуется изменить, и в контекстном меню выберите пункт Конструктор.

  2. В верхней части бланка запроса выделите поле таблицы, которое содержит список значений.

  3. В нижней части бланка откройте вкладку Подстановка и найдите свойство Источник строк.

    По умолчанию элементы в списке значений заключены в двойные кавычки и разделены точкой с запятой: "Excellent";"Fair";"Average";"Poor"

  4. Удалите из списка ненужные значения. Не забывайте удалять и кавычки, в которые они заключены. Также не оставляйте точку с запятой в начале списка и последовательные точки с запятыми (;;). Если вы удалили последний элемент в списке, удалите и последнюю точку с запятой.

    Примечание : Если вы удалили из списка значений элемент, который используют записи в таблице, этот элемент останется в записи, пока вы не измените ее. Предположим, у компании есть склад в городе А и она продает это здание. Если удалить элемент "Город А" из списка складов, значения "Город А" останутся в таблице, пока вы не измените их.

Удаление данных из списка подстановки

  1. В области навигации щелкните правой кнопкой мыши таблицу, которую требуется изменить, и в контекстном меню выберите пункт Конструктор.

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

  3. В нижней части бланка откройте вкладку Подстановка и найдите свойства Тип источника строк и Источник строк.

    Для свойства Тип источника строк должно быть задано значение Таблица или запрос, а свойство Источник строк должно содержать запрос, который ссылается на таблицу или другой запрос.

    Примечание : Запросы для полей подстановки всегда начинаются со слова SELECT.

    Как правило (но не всегда) запрос на выборку имеет следующий базовый синтаксис: SELECT [имя_таблицы_или_запроса].[имя_поля] FROM [имя_таблицы_или_запроса].

    В данном случае запрос содержит два предложения: SELECT и FROM. Первое предложение ссылается на таблицу и поле в ней, второе — только на таблицу. Помните о важном моменте: предложение FROM всегда содержит имя исходной таблицы или запроса. Предложение SELECT не всегда содержит имя таблицы или запроса, хотя всегда содержит имя хотя бы одного поля. При этом все предложения FROM всегда ссылаются на таблицу или запрос.

  4. Выполните одно из указанных ниже действий.

    • Если запрос в поле подстановки ссылается на другой запрос, нажмите кнопку Построить (на вкладке Данные страницы свойств щелкните Кнопка "Построитель"  "Далее"), чтобы открыть запрос в режиме конструктора. Обратите внимание на имя таблицы в верхней части конструктора запросов и перейдите к действию 5.

    • Если запрос в поле подстановки ссылается на таблицу, запомните ее имя и перейдите к действию 5.

  5. В области навигации дважды щелкните исходную таблицу, чтобы открыть ее в режиме таблицы.

  6. Найдите поле с данными, которые используются в списке подстановки, и внесите в них необходимые изменения.

К началу страницы

Удаление несвязанных записей из базы данных

При удалении из базы данных целых записей удаляются значения всех их полей, а также значение ключа, которое делает запись уникальной. Если запись не связана с другими (то есть ключ не хранится в другой записи или таблицах базы), для удаления записи выделите ее и нажмите клавишу DELETE. Для удаления большого количества несвязанных записей, которые слишком долго стирать вручную, можно использовать запрос. В следующих разделах описано, как выполнить каждую из этих задач.

Удаление несвязанной записи вручную

  1. В режиме таблицы откройте таблицу или запрос с данными, которые требуется удалить.

  2. Найдите запись (строку), которую нужно удалить, и нажмите кнопку Выделить все (квадрат с левого или правого края записи). Можно выделить отдельные строки, несколько смежных строк (щелкните первую и перетащите указатель) либо несколько несмежных строк (щелкните их, удерживая клавишу CTRL).

    Access выделит рамкой всю запись (строку) или блок выделенных записей.

  3. Нажмите клавишу DELETE.

    -или-

    На вкладке Главная в группе Записи нажмите кнопку Удалить.

    -или-

    Щелкните правой кнопкой мыши кнопку Выделить все и выберите команду Удалить запись.

    Если вы не можете щелкнуть кнопку Выделить все, установите курсор в поле записи. Затем на вкладке Главная в группе Записи щелкните стрелку вниз рядом с кнопкой Удалить и выберите пункт Удалить запись.

    Примечание : После этого Access может выдать сообщение об ошибке, в котором говорится, что удалить запись невозможно, так как она связана с другими данными. Если появилось такое сообщение, нажмите кнопку ОК и перейдите к разделу Удаление связанных записей из базы данных с помощью запроса на удаление.

  4. Когда Access предложит подтвердить удаление, нажмите кнопку Да.

Удаление несвязанных записей с помощью запроса

С помощью запроса и связанные, и несвязанные записи удаляются одинаково: сначала нужно создать запрос на выборку, затем убедиться, что он возвращает только те записи, которые требуется удалить, а после этого превратить его в запрос на удаление. В следующем разделе объясняется, как удалять несвязанные записи, и приведена некоторая дополнительная информация.

Удаление связанных записей из базы данных с помощью запроса

Процедура удаления связанных записей состоит из перечисленных ниже этапов.

  • Составьте план удаления. Убедитесь, что у вас есть необходимые разрешения для удаления данных, а другие пользователи закрыли все объекты, которые работают с затронутыми таблицами, после чего создайте резервную копию базы.

  • Измените отношения между таблицами, которые участвуют в удалении. В частности, включите параметры Целостность данных и Каскадное удаление связанных записей. Так вы сможете удалить все связанные данные из всех затрагиваемых этой операцией таблиц.

  • Создайте запрос на выборку и задайте условия таким образом, чтобы он возвращал нужный набор записей.

  • Преобразуйте запрос на выборку в запрос на удаление и удалите данные с его помощью.

Полное описание этой процедуры см. в статье Создание и выполнение запроса на удаление.

К началу страницы

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×