Удаление связи — Access
Иногда требуется удалить связь в таблице. Например, связь больше недействительна или вы удаляете поле в таблице. В классических базах данных Access и веб-приложениях Access процессы удаления связи различаются. В этой статье описаны оба процесса.
Подробнее о тонкостях использования связей см. в статье Создание, изменение и удаление связи.
В этой статье
-
Удаление связи в базе данных Access для настольных систем
-
Удаление связи в веб-приложении Access
Удаление связи в базе данных Access для настольных систем
Чтобы удалить связь между таблицами в базе данных рабочего стола, нужно удалить линию связи в окне Схема данных. Поместите указатель мыши на линию связи и щелкните ее. При выделении линия связи становится толще. Выделив линию связи, нажмите клавишу DELETE.
-
На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
-
На вкладке Конструктор
в группе Связи нажмите кнопку Все связи. -
Щелкните линию связи, которую требуется удалить. Выделенная линия связи станет жирной.
Будут отображены все таблицы со связями, а также соответствующие линии связи.
-
Нажмите клавишу DELETE.
-
При этом в приложении Access может появиться сообщение Подтвердите удаление выделенной связи из базы данных. В этом случае нажмите кнопку Да.
-
Закончив работу в окне «Схема данных», нажмите кнопку Сохранить, чтобы сохранить изменения в макете связей.
Примечание: Если одна из таблиц, участвующая в связи, в данный момент используется (возможно, третьим лицом или в открытом объекте базы данных, например в форме или представлении), удалить связь будет невозможно. Перед удалением связи между таблицами нужно закрыть все открытые объекты, использующие эти таблицы.
Удаление связи в веб-приложении Access
В веб-приложении Access отсутствует окно «Схема данных». Поле в одной таблице служит источником (полем подстановки) значений для связанного поля в другой таблице. Чтобы удалить связь между двумя таблицами в веб-приложении Access, необходимо удалить поле подстановки и связанные с ним данные.
-
Откройте таблицу, содержащую поле подстановки, которое нужно удалить, выбрав команду Изменить таблицу.
-
Выберите поле подстановки, в которое подставляются значения из другой таблицы веб-приложения.
-
На вкладке Конструктор в разделе Работа с таблицами нажмите кнопку Удалить поля.
-
В Access отображается сообщение Удалить выделенные поля и все содержащиеся в них данные? Нажмите кнопку Да, чтобы подтвердить удаление поля подстановки и его данных.
Примечание: При удалении поля подстановки приложение Access также может предложить вам удалить один или несколько индексов. Если такое сообщение появляется, нажмите кнопку Да.
-
Нажмите кнопку Сохранить, чтобы сохранить изменения в структуре таблиц.
Если же вас интересуют лишь основные сведения об удалении связей, см. следующие статьи:
support.office.com
Создание, изменение и удаление отношения
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Отношение в _з0з_ позволяет объединить данные из двух разных таблиц. Каждая связь состоит из полей в двух таблицах с данными, которые соответствуют. Например, вы можете создать поле ProductID в таблице Products и в таблице OrderDetails. Каждая запись в таблице OrderDetails имеет ProductID, соответствующее записи в таблице Products с тем же ProductID.
При помощи отношений между связанными таблицами приложение Access определяет, какие записи из каждой таблицы поместить в набор результатов запроса. Отношение также позволяет избежать потери данных, препятствуя исключению удаленных данных из синхронизации.
Примечание: Эта статья не относится к веб-приложениям Access.
В этой статье
-
Обзор
-
Создание связи между таблицами с помощью окна «Схема данных»
-
Создание отношения между таблицами с помощью панели списка полей
-
Изменение связи
-
Обеспечение целостности данных
-
Удаление связи между таблицами
-
Создание или изменение отношения в веб-базе данных Access 2010
Обзор
Чтобы создать отношение в обычной базе данных, можно воспользоваться одним из следующих методов.
-
В окне «Схема данных» добавьте таблицы, которые требуется связать, а затем перетащите нужное поле из одной таблицы в другую.
-
Перетащите поле в таблицу из области Список полей.
При создании отношения между таблицами общие поля могут называться по-разному, однако часто требуется, чтобы эти имена совпадали. Очевидно, что общие поля должны иметь одинаковый тип данных. Однако если поле первичного ключа имеет тип «Счетчик», поле внешнего ключа также может быть числовым, если свойство Размер поля (FieldSize) обоих полей совпадает. Например, можно сопоставить поля с типами «Счетчик» и «Числовой», если свойство Размер поля обоих полей имеет значение «Длинное целое». Если оба общих поля являются числовыми, у них должно совпадать значение свойства
Создание отношения между таблицами с помощью окна отношений
-
На вкладке Работа с базами данных в группе Отношения выберите элемент Схема данных.
Важно: Окно «Схема данных» недоступно в веб-приложении Access. Инструкции по созданию связи в веб-приложении Access см. в разделе Создание связи.
-
Если ни одного отношения еще не определено, автоматически откроется диалоговое окно Добавление таблицы. Если это окно не открылось, на вкладке Конструктор в группе Схема данных нажмите кнопку Отобразить таблицу.
В диалоговом окне Добавление таблицы отображаются все таблицы и запросы базы данных. Чтобы просмотреть только таблицы, выберите пункт Таблицы. Чтобы просмотреть только запросы, выберите пункт Запросы. Чтобы отобразить и таблицы, и запросы, щелкните Таблицы и запросы.
-
Выберите одну или несколько таблиц или запросов и нажмите кнопку Добавить. После добавления таблиц и запросов на вкладку «Схема данных» нажмите кнопку Закрыть.
-
Перетащите поле (как правило, поле первичного ключа) из одной таблицы на общее поле (поле внешнего ключа) в другой таблице. Чтобы перетащить сразу несколько полей, нажмите и удерживайте клавишу CTRL, нажмите каждое поле и перетащите выделенные поля.
Появится диалоговое окно Изменение связей.
-
Убедитесь, что имена общих полей отношения отображаются правильно. Если имя поля неправильное, щелкните его и выберите нужное поле из списка.
Чтобы обеспечить целостность данных для этого отношения, установите флажок
-
Нажмите кнопку Создать.
Будет нарисована линия связи между двумя таблицами. Если установлен флажок Обеспечение целостности данных, концы линии выглядят утолщенными. Кроме того, если установлен флажок Обеспечение целостности данных, над утолщенной частью на одном конце линии связи будет отображаться цифра 1, а на другом — символ бесконечности (∞), как показано на рисунке ниже.
Примечания:
-
Создание связи «один-к-одному». У обоих общих полей (как правило, поля первичного ключа и внешнего ключа) должен быть уникальный индекс. Это означает, что свойство Индексированное поле этих полей должно иметь значение Да (Совпадения не допускаются). Если оба поля имеют уникальный индекс, в приложении Access создается связь «один-к-одному».
-
Создание связи «один-ко-многим». У поля на одной стороне связи (как правило, поля первичного ключа) должен быть уникальный индекс. Это означает, что свойство Индексированное поле этого поля должно иметь значение Да (Совпадения не допускаются). Поле на стороне «многие» не должно иметь уникального индекса. Это поле может быть индексированным, но для него должны допускаться повторы. Это означает, что свойство Индексированное поле этого поля должно иметь значение Нет или Да (Допускаются совпадения). Когда у одного поля однозначный индекс, а у другого — нет, в приложении Access создается связь «один-ко-многим».
-
К началу страницы
Создание отношения между таблицами с помощью панели списка полей
Добавить поле в существующую таблицу, открытую в режиме таблицы, можно путем перетаскивания этого поля из области Список полей. В области Список полей отображаются доступные поля из связанных таблиц, а также из других таблиц базы данных.
При перетаскивании поля из «другой» (несвязанной) таблицы и выполнении инструкций мастера подстановок между таблицей из области Список полей и таблицей, в которую перетаскивается поле, автоматически создается новое отношение «один-ко-многим». Это отношение, созданное Access, не обеспечивает целостность данных по умолчанию. Чтобы обеспечить целостность данных, нужно изменить отношение. Дополнительные сведения см. в разделе Изменение отношения.
Открытие таблицы в режиме таблицы
Открытие области «Список полей»
В области Список полей отображены все другие таблицы базы данных, сгруппированные по категориям. При работе с таблицей в режиме таблицы в области Список полей отображаются поля в одной из двух категорий: Доступные поля в связанной таблице и Доступные поля в другой таблице. К первой категории относятся все таблицы, связанные отношением с текущей таблицей. Во второй категории перечислены все таблицы, с которыми данная таблица не связана отношением.
Чтобы просмотреть список всех полей таблицы, щелкните знак плюс (+) рядом с именем таблицы в области Список полей. Чтобы добавить поле в таблицу, перетащите его из области Список полей в таблицу в режиме таблицы.
Добавление поля и создание связи из области «Список полей»
-
Открыв таблицу в режиме таблицы, нажмите клавиши ALT+F8. Будет отображена область Список полей.
-
Чтобы отобразить список полей в таблице, в группе Доступные поля в другой таблице щелкните знак плюс (+) рядом с именем таблицы.
-
Перетащите нужное поле из области Список полей в таблицу, открытую в режиме таблицы.
-
Когда появится линия вставки, поместите поле в выбранное место.
Появится окно мастера подстановок.
-
Следуйте инструкциям мастера подстановок.
Поле будет отображено в таблице в режиме таблицы.
При перетаскивании поля из «другой» (несвязанной) таблицы и выполнении инструкций мастера подстановок между таблицей из области Список полей и таблицей, в которую было перетаскивается поле, автоматически создается новое отношение «один-ко-многим». Это отношение, созданное Access, не обеспечивает целостность данных по умолчанию. Чтобы обеспечить целостность данных, нужно изменить отношение. Дополнительные сведения см. в разделе Изменение отношения.
К началу страницы
Изменение отношения
Чтобы изменить отношение, выберите его в окне «Схема данных» и внесите нужные изменения.
-
Установите указатель на линию связи и щелкните линию, чтобы выделить ее.
При выделении линия связи становится толще.
-
Дважды щелкните выделенную линию связи
ИЛИ
на вкладке Конструктор в группе Сервис выберите команду Изменить связи.
Откроется диалоговое окно Изменение связей.
Открытие диалогового окна «Изменение связей»
-
На вкладке Работа с базами данных в группе Отношения выберите элемент Схема данных.
Будет открыто окно «Схема данных».
Если в базе данных еще не определены отношения или окно «Схема данных» открывается впервые, будет отображено диалоговое окно Добавление таблицы. В этом случае нажмите в нем кнопку Закрыть.
-
На вкладке Конструктор в группе Связи нажмите кнопку Все связи.
Будут отображены все таблицы с отношениями, а также соответствующие линии связи. Обратите внимание на то, что скрытые таблицы (таблицы, для которых установлен флажок скрытый в диалоговом окне Свойства) и их отношения не отображаются, если в диалоговом окне Параметры переходов не выбран параметр «Показывать скрытые объекты».
-
Щелкните линию связи, которую требуется изменить. Выделенная линия связи станет жирной.
-
Дважды щелкните линию связи.
ИЛИ
На вкладке Конструктор в группе Сервис выберите команду Изменить связи.
Откроется диалоговое окно Изменение связей.
-
Внесите изменения и нажмите кнопку ОК.
С помощью диалогового окна Изменение связей можно изменить отношение между таблицами (например, таблицы, запросы или поля на любой стороне отношения). Можно также задать тип объединения или включить обеспечение целостности данных и выбрать каскадный параметр. Дополнительные сведения о типе объединения и его использовании см. в разделе Задание типа объединения. Дополнительные сведения об обеспечении целостности данных и выборе каскадного параметра см. в разделе Обеспечение целостности данных.
Указание типа соединения
При определении отношения между таблицами сведения о нем влияют на структуру запросов. Например, при определении отношения между двумя таблицами и создании запроса, работающего с этими двумя таблицами, в Access автоматически выбираются сопоставляемые поля по умолчанию на основе полей, указанных в отношении. Эти исходные значения в запросе можно переопределить, но часто значения, определенные отношением между таблицами, являются верными. Поскольку сопоставление и объединение данных из двух таблиц являются часто воспроизводимыми действиями во всех базах данных, кроме самых простых, параметры по умолчанию, определенные отношениями между таблицами, могут быть полезны и экономить время.
С помощью запроса к нескольким таблицам можно комбинировать данные из них путем сопоставления значений в общих полях. Операция сопоставления и комбинирования называется объединением. Например, требуется отобразить заказы клиентов. Для этого создается запрос, объединяющий таблицы «Клиенты» и «Заказы» по полю «Код клиента». Результаты запроса содержат сведения о клиенте, а также другие сведения только для строк с найденным соответствующим значением.
Одно из значений, которое можно задать для каждого отношения, — это тип объединения. Тип объединения определяет, какие записи будут включены в результаты запроса. Обратимся к описанному примеру с объединением таблиц «Клиенты» и «Заказы» по общим полям, представляющим код клиента. При использовании типа объединения по умолчанию (внутреннего соединения) запрос возвращает только строки таблиц «Клиенты» и «Заказы», для которых общие поля (также называемые связанными полями) совпадают.
Предположим, что требуется включить в результаты всех клиентов — даже тех, которые еще не сделали ни одного заказа. Для этого нужно изменить тип объединения с внутреннего на так называемое левое внешнее соединение. При использовании левого внешнего соединения возвращаются все строки таблицы на левой стороне отношения и только сопоставленные строки на правой. При использовании правого внешнего соединения возвращаются все строки на правой стороне отношения и только сопоставленные — на левой.
Примечание: В этом случае термины «слева» и «справа» относятся к положению таблиц в диалоговом окне Изменение связей, а не в окне «Схема данных».
Следует определить, какие результаты наиболее часто требуются от запроса, соединяющего таблицы в конкретной связи, и в соответствии с этим выбрать тип соединения.
Указание типа соединения
-
В диалоговом окне Изменение связей нажмите кнопку Тип соединения.
Откроется диалоговое окно Параметры соединения.
-
Выберите нужные параметры и нажмите кнопку ОК.
В таблице ниже, составленной на основании таблиц «Клиенты» и «Заказы», приведены три варианта, отображаемые в окне Параметры объединения, указан используемый в них тип объединения, а также то, какие именно строки (все или только сопоставленные) возвращаются для каждой из таблиц.
Выбор |
Родственное объединение |
Левая таблица |
Правая таблица |
1. Объединение только тех записей, в которых связанные поля обеих таблиц совпадают. |
Внутреннее соединение |
Сопоставленные строки |
Сопоставленные строки |
2. Объединение ВСЕХ записей из таблицы «Клиенты» и только тех записей из таблицы «Заказы», в которых связанные поля совпадают. |
Левое внешнее соединение |
Все строки |
Сопоставленные строки |
3. Объединение ВСЕХ записей из таблицы «Заказы» и только тех записей из таблицы «Клиенты», в которых связанные поля совпадают. |
Правое внешнее соединение |
Сопоставленные строки |
Все строки |
При выборе варианта 2 или 3 на линии связи будет отображена стрелка, указывающая на ту сторону связи, в которой отображаются только сопоставленные строки.
Внесение изменений в окне «Параметры объединения»
-
На вкладке Работа с базами данных в группе Отношения выберите элемент Схема данных.
Примечание: Если в базе данных еще не определены отношения и окно «Схема данных» открывается впервые, появится диалоговое окно Добавление таблицы. В этом случае нажмите в нем кнопку Закрыть.
-
На вкладке Конструктор в группе Связи нажмите кнопку Все связи.
Будут отображены все таблицы с отношениями, а также соответствующие линии связи. Обратите внимание на то, что скрытые таблицы (таблицы, для которых установлен флажок скрытый в диалоговом окне Свойства) и их отношения не отображаются, если в диалоговом окне Параметры переходов не выбран параметр «Показывать скрытые объекты».
-
Щелкните линию связи, которую требуется изменить. Выделенная линия связи станет жирной.
-
Дважды щелкните линию связи. Откроется диалоговое окно Изменение связей.
-
Нажмите кнопку Тип объединения.
-
В диалоговом окне Параметры объединения выберите нужный параметр и нажмите кнопку ОК.
-
Внесите в связь необходимые изменения и нажмите кнопку ОК.
К началу страницы
Обеспечение целостности данных
Целью обеспечения целостности данных является предотвращение появления непарных записей, ссылающихся на несуществующие записи. Обеспечение целостности данных включается для конкретного отношения между таблицами. В результате Access отменяет для этого отношения все действия, которые могут нарушить целостность данных. Это означает, что будет отменено как обновление, изменяющее целевой объект ссылки, так и удаление такого целевого объекта. Сведения о том, как настроить в Access распространение операций обновления и удаления таким образом, чтобы в результате изменялись и все связанные строки, см. в разделе Задание каскадных параметров.
Включение и отключение обеспечения целостности данных
-
На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
-
На вкладке Конструктор в группе Связи нажмите кнопку Все связи.
Будут отображены все таблицы с отношениями, а также соответствующие линии связи. Обратите внимание на то, что скрытые таблицы (таблицы, для которых установлен флажок скрытый в диалоговом окне Свойства) и их отношения не отображаются, если в диалоговом окне Параметры переходов не выбран параметр «Показывать скрытые объекты».
-
Щелкните линию связи, которую требуется изменить. Выделенная линия связи станет жирной.
-
Дважды щелкните линию связи. Откроется диалоговое окно Изменение связей.
-
Выберите или отмените параметр Обеспечение целостности данных.
-
Внесите в отношение необходимые изменения и нажмите кнопку ОК.
В режиме обеспечения целостности данных действуют перечисленные ниже правила.
-
Не допускается ввод в поле внешнего ключа связанной таблицы значений, отсутствующих в поле первичного ключа главной таблицы, поскольку это приводит к появлению потерянных записей.
-
Не допускается удаление записи из главной таблицы, если в связанной таблице существуют связанные с ней записи. Например, невозможно удалить запись из таблицы «Сотрудники», если в таблице «Заказы» имеются заказы, относящиеся к данному сотруднику. Однако можно удалить главную запись и все связанные записи одним действием, установив флажок Каскадное удаление связанных записей.
-
Не допускается изменение значения первичного ключа в главной таблице, если это приведет к появлению потерянных записей. Например, нельзя изменить номер заказа в таблице «Заказы», если в таблице «Сведения о заказах» имеются строки, относящиеся к этому заказу. Однако можно обновить главную запись и все связанные записи одним действием, установив флажок «Каскадное обновление связанных полей».
Примечания: Если при включении обеспечения целостности данных возникли трудности, обратите внимание на то, что должны выполняться условия, перечисленные ниже.
-
Общее поле главной таблицы должно быть первичным ключом или иметь уникальный индекс.
-
Общие поля должны иметь одинаковый тип данных. Единственное исключение — поле типа «Счетчик» можно связать с полем типа «Числовой», если его свойство Размер поля имеет значение Длинное целое.
-
Обе таблицы существуют в одной базе данных Access. Обеспечение целостности данных нельзя включить для присоединенных таблиц. Однако если исходные таблицы имеют формат Access, можно открыть базу данных, в которой они хранятся, и включить обеспечение целостности данных в этой базе.
-
Задание каскадных параметров
Иногда возникает ситуация, в которой требуется изменить значение только на стороне «один» отношения. В этом случае необходимо, чтобы Access автоматически обновил все затронутые строки в ходе выполнения одной операции. Тогда обновление будет полностью завершено, а база данных не будет находиться в несогласованном состоянии, когда некоторые строки обновлены, а другие — нет. Этой проблемы можно избежать с помощью параметра Access «Каскадное обновление связанных полей». Если при включении обеспечения целостности данных был включен параметр «Каскадное обновление связанных полей», то при последующем обновлении первичного ключа автоматически будут обновлены все связанные с ним поля.
Также может потребоваться удаление строки и всех связанных с ней записей — например, записи в таблице «Поставщики» и всех связанных с этим поставщиком заказов. Для этого в Access предназначен параметр «Каскадное удаление связанных записей». Если включить обеспечение целостности данных и установить флажок Каскадное удаление связанных записей, при удалении записи, содержащей первичный ключ, будут автоматически удалены все записи, связанные с этим первичным ключом.
Включение и отключение каскадного обновления и каскадного удаления
-
На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
-
На вкладке Конструктор в группе Связи нажмите кнопку Все связи.
Будут отображены все таблицы с отношениями, а также соответствующие линии связи. Обратите внимание на то, что скрытые таблицы (таблицы, для которых установлен флажок скрытый в диалоговом окне Свойства) и их отношения не отображаются, если в диалоговом окне Параметры переходов не выбран параметр «Показывать скрытые объекты».
-
Щелкните линию отношения, которое вы хотите изменить. Выделенная линия связи станет толще.
-
Дважды щелкните линию связи.
Откроется диалоговое окно Изменение связей.
-
Установите флажок Обеспечение целостности данных.
-
Установите флажок Каскадное обновление связанных полей, Каскадное удаление связанных записей или оба эти флажка.
-
Внесите в отношение необходимые изменения и нажмите кнопку ОК.
Примечание: Если первичным ключом является поле «Счетчик», установка флажка Каскадное обновление связанных полей не произведет никакого эффекта, поскольку изменить значение поля «Счетчик» нельзя.
К началу страницы
Удаление отношения между таблицами
Важно: При удалении связи также отключается обеспечение целостности данных для этой связи, если оно было включено. В результате Access больше не будет автоматически предотвращать появление потерянных записей на стороне «многие» отношения.
Чтобы удалить отношение между таблицами, нужно удалить линию связи в окне «Схема данных». Установите указатель мыши на линию связи и щелкните ее. При выделении линия связи становится толще. Выделив линию связи, нажмите клавишу DEL.
-
На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
-
На вкладке Конструктор в группе Связи нажмите кнопку Все связи.
Будут отображены все таблицы с отношениями, а также соответствующие линии связи. Обратите внимание на то, что скрытые таблицы (таблицы, для которых установлен флажок скрытый в диалоговом окне Свойства) и их отношения не отображаются, если в диалоговом окне Параметры переходов не выбран параметр «Показывать скрытые объекты».
-
Щелкните линию связи, которую требуется удалить. Выделенная линия связи станет жирной.
-
Нажмите клавишу DEL
-
При этом может появиться сообщение Подтвердите удаление выделенной связи из базы данных. В этом случае нажмите кнопку Да.
Примечание: Если одна из таблиц, участвующих в отношении, в данный момент используется (возможно, третьим лицом, процессом либо в открытом объекте базы данных, например в форме), удалить отношение между таблицами будет невозможно. Перед попыткой удаления отношения между таблицами закройте все открытые объекты, использующие эти таблицы.
К началу страницы
Создание или изменение отношения в веб-базе данных Access 2010
Чтобы создать отношение в веб-базе данных Access 2010, воспользуйтесь мастером подСтановок. Окно «Схема данных» недоступно в веб-базе. Поле в одной таблице используется в качестве источника значений связанного поля в другой таблице. Инструкции по созданию связи в веб-приложении Access см. в разделе Создание связи.
Примечание: Воспользоваться мастером подстановок можно только при наличии поля, используемого в качестве источника значений.
Создание в веб-базе данных Access 2010 отношения с помощью мастера подстановок
-
Откройте таблицу, в которую будут переноситься значения из другой таблицы.
-
Справа от последнего поля нажмите кнопку Щелкните для добавления, а затем выберите пункт Подстановка и отношение.
Примечание: Для отображения кнопки Щелкните для добавления, может понадобиться прокрутить страницу по горизонтали.
-
На первом экране мастера подстановок выберите элемент Получать значения из другой таблицы для поля подстановки и нажмите кнопку Далее.
-
Выберите таблицу-источник и нажмите кнопку Далее.
-
В окне Доступные поля двойным щелчком выберите поле, содержащее нужные значения, и нажмите кнопку Далее.
-
Если нужно, определите порядок сортировки для поля подстановки и нажмите кнопку Далее.
-
При необходимости отрегулируйте ширину окна подстановки — это удобно, если значения имеют большую длину. Нажмите кнопку Далее.
-
Введите имя для нового поля. Чтобы иметь полную уверенность в том, что данные в двух таблицах всегда совпадают, установите флажок Включить проверку целостности данных, а затем выберите одну из перечисленных ниже функций.
-
Каскадное удаление позволяет при удалении записи в одной таблице удалять соответствующую запись в другой.
-
Ограниченное удаление не разрешает удалить запись из таблицы, если она связана с записью в другой таблице.
Примечание: Не выбирайте элемент Разрешить несколько значений в мастере подстановок, если он используется для создания отношения.
-
Изменение отношения в веб-базе данных Access 2010
-
Откройте таблицу, в которую подставляются значения из другой таблицы.
-
Выберите поле, в которое подставляются значения из другой таблицы.
-
На вкладке Поля в группе Свойства нажмите кнопку Изменить подстановки.
-
Внесите нужные изменения в соответствии с инструкциями мастера. Можно изменить следующие элементы.
-
Поле-источник значений
-
Порядок сортировки значений
-
Ширину поля и отображение ключевого столбца
-
Подпись поля подстановки
-
Включение проверки целостности данных
-
Каскадное или ограниченное удаление в случае, если включена проверка целостности данных
-
К началу страницы
support.office.com
Удаление одной или нескольких записей из базы данных
Удаление неточных или ненужных данных часто позволяет ускорить и упростить работу баз данных Access. Например, если перенести содержимое старых календарей или информацию за предыдущий налоговый квартал в архивные таблицы в другой базе, можно уменьшить размер рабочей базы данных, благодаря чему она будет работать быстрее. Удаление неточных или дублирующихся сведений помогает сократить расходы.
В этой статье объясняется, как удалять данные из базы Access. Здесь также рассказывается, как удалять содержимое отдельных полей (это относительно простая процедура) и целые записи (это может быть куда сложнее).
Примечание: Для понимания и использования информации в этой статье необходимо сначала ознакомиться с понятиями первичных и внешних ключей. Начальные сведения о первичных и внешних ключах приведены в статье Основные сведения о создании баз данных.
В этой статье
-
Об удалении данных
-
Удаление данных в поле
-
Удаление данных в списке
-
Удаление несвязанных записей из базы данных
-
Удаление связанных записей из базы данных с помощью запроса
Об удалении данных
В Access удалять данные можно несколькими способами (на разных уровнях). Вы можете удалять отдельные точки данных из записей, целые записи из таблицы, а также таблицы целиком.
Удалив отдельные значения, можно очистить поля записи, но при этом сохранить ее на прежнем месте в виде строки в таблице. Удалить значение относительно просто: достаточно выделить содержимое поля (полностью или частично) и нажать клавишу DELETE.
При удалении всей записи удаляются все данные в каждом ее поле, а также значение ключа, которое делает ее уникальной. При этом стирается целая строка из соответствующей таблицы. Вы можете удалять отдельные записи вручную либо с помощью запросов на удаление, которые стирают целые группы записей.
Если записи, которые требуется удалить, не связаны с другими данными в базе, процедура удаления довольно проста. Можно выделить всю строку и нажать клавишу DELETE либо создать и выполнить запрос на удаление. Если же записи, которые нужно удалить, связаны с другими данными и находятся на стороне «один» отношения «один ко многим», потребуется выполнить ряд дополнительных действий, так как по умолчанию Access не позволяет удалять связанные данные. Кроме того, помните о том, что удаление целой записи невозможно отменить. В связи с этим перед удалением данных следует всегда создавать резервную копию базы.
Удаление целых таблиц — более простая процедура, чем удаление данных из полей и удаление целый записей, однако помните, что удаление таблицы может привести к нарушению работы (в том числе полному) всей базы данных, если сделать это неправильно. Кроме того, вы теряете все содержимое таблицы без возможности восстановления. В связи с этим предварительно следует всегда создавать резервную копию базы.
Наконец, понимание концепции реляционной базы данных позволяет удалять информацию быстрее и точнее. Если вы еще не работали с Access или с реляционными базами данных, ознакомьтесь со статьей Основные сведения о создании баз данных.
Процедуры в следующих разделах описывают удаление значений из отдельных полей, удаление целый записей и таблиц целиком. В каждом разделе приведена вспомогательная информация, необходимая для выполнения соответствующей задачи.
Удаление данных в поле
Чтобы удалить данные из отдельных полей, откройте таблицу или запрос в режиме таблицы либо откройте форму ввода данных в режиме формы или макета .
Удаление данных из таблицы
-
В области навигации дважды щелкните нужную таблицу или запрос. Они откроются в режиме таблицы.
-
Выделите данные, которые нужно удалить.
Можно выделить все значение или его часть либо просто установить курсор в поле.
-
Если вы выделили все содержимое поля, нажмите клавишу DELETE.
-или-
На вкладке Главная в группе Записи нажмите кнопку Удалить.
-или-
Если вы установили курсор в поле, нажмите клавишу DELETE или BACKSPACE.
Удаление данных из формы
-
В области навигации дважды щелкните нужную форму. Она откроется в режиме формы.
-или-
В области навигации выберите нужную форму, а затем на вкладке Главная в группе Представления щелкните Вид и выберите Режим макета.
-
Выделите данные, которые нужно удалить.
Можно выделить все значение или его часть либо просто установить курсор в поле.
-
Если вы выделили все содержимое поля, нажмите клавишу DELETE.
-или-
На вкладке Главная в группе Записи нажмите кнопку Удалить.
-или-
Если вы установили курсор в поле, нажмите клавишу DELETE или BACKSPACE.
Примечания: Access может выдать сообщение об ошибке и не позволить удалить данные. Причин этому может быть несколько.
-
Вы пытаетесь удалить данные из запроса, который в принципе не поддерживает такую возможность. Например, невозможно изменить данные, возвращаемые перекрестным запросом, а также изменить или удалить вычисляемые поля — значения, которые рассчитываются по формуле при работе с базой, но не хранятся в таблице. Если форма основана на запросе, из которого нельзя удалить данные, вы не сможете ничего удалить из нее.
-
У вас нет разрешений на удаление данных. Обратитесь к системному администратору или разработчику базы.
-
Поле не допускает пустые значения или значения null. Если у вас есть необходимые разрешения, откройте таблицу в режиме конструктора и измените свойство Обязательное поле в таблице с Да на Нет.
-
Вы пытаетесь удалить информацию из списка. Найти список в таблице или форме очень просто, потому что Access выводит рядом с ним стрелку вниз: . Сведения об удалении значений из списка см. в следующем разделе этой статьи.
-
К началу страницы
Удаление данных в списке
Данные можно удалять из списков двух типов: списков значений и списков подстановки. В списке значений отображается набор заранее заданных элементов, которые вручную вводятся вами или разработчиком базы данных. В отличие от них списки подстановки используют запросы для получения значений из другой таблицы или другого запроса.
Элементы списка значений хранятся в той же таблице, что и другие значения записи. В то же время данные списка подстановки находятся в одной или нескольких других таблицах. Чтобы удалить данные из списка значений, нужно открыть таблицу и внести изменения в набор элементов.
Для удаления данных из списка подстановки потребуется выполнить ряд дополнительных действий, последовательность которых зависит от того, откуда именно — из другой таблицы или запроса — берет данные запрос для этого списка. Если запрос для списка подстановки основан на таблице, определите эту таблицу и поля, которые содержат данные, отображаемые в списке. После этого откройте исходную таблицу и внесите изменения в содержимое соответствующего поля.
Если запрос в списке подстановки основан на другом запросе, откройте этот второй запрос, найдите исходную таблицу и поля, из которых он берет данные, и измените значения в этой таблице.
Ниже описана процедура удаления данных и из списка значений, и из списка подстановки.
Удаление данных из списка значений
-
В области навигации щелкните правой кнопкой мыши таблицу, которую требуется изменить, и в контекстном меню выберите пункт Конструктор.
-
В верхней части бланка запроса выделите поле таблицы, которое содержит список значений.
-
В нижней части бланка откройте вкладку Подстановка и найдите свойство Источник строк.
По умолчанию элементы в списке значений заключены в двойные кавычки и разделены точкой с запятой: «Excellent»;»Fair»;»Average»;»Poor»
-
Удалите из списка ненужные значения. Не забывайте удалять и кавычки, в которые они заключены. Также не оставляйте точку с запятой в начале списка и последовательные точки с запятыми (;;). Если вы удалили последний элемент в списке, удалите и последнюю точку с запятой.
Примечание: Если вы удалили из списка значений элемент, который используют записи в таблице, этот элемент останется в записи, пока вы не измените ее. Предположим, у компании есть склад в городе А и она продает это здание. Если удалить элемент «Город А» из списка складов, значения «Город А» останутся в таблице, пока вы не измените их.
Удаление данных из списка подстановки
-
В области навигации щелкните правой кнопкой мыши таблицу, которую требуется изменить, и в контекстном меню выберите пункт Конструктор.
-
В верхней части бланка запроса выделите нужное поле подстановки.
-
В нижней части бланка откройте вкладку Подстановка и найдите свойства Тип источника строк и Источник строк.
Для свойства Тип источника строк должно быть задано значение Таблица или запрос, а свойство Источник строк должно содержать запрос, который ссылается на таблицу или другой запрос.
Примечание: Запросы для полей подстановки всегда начинаются со слова SELECT.
Как правило (но не всегда) запрос на выборку имеет следующий базовый синтаксис: SELECT [имя_таблицы_или_запроса].[имя_поля] FROM [имя_таблицы_или_запроса].
В данном случае запрос содержит два предложения: SELECT и FROM. Первое предложение ссылается на таблицу и поле в ней, второе — только на таблицу. Помните о важном моменте: предложение FROM всегда содержит имя исходной таблицы или запроса. Предложение SELECT не всегда содержит имя таблицы или запроса, хотя всегда содержит имя хотя бы одного поля. При этом все предложения FROM всегда ссылаются на таблицу или запрос.
-
Выполните одно из указанных ниже действий.
-
Если запрос в поле подстановки ссылается на другой запрос, нажмите кнопку Построить (на вкладке Данные страницы свойств щелкните «Далее»), чтобы открыть запрос в режиме конструктора. Обратите внимание на имя таблицы в верхней части конструктора запросов и перейдите к действию 5.
-
Если запрос в поле подстановки ссылается на таблицу, запомните ее имя и перейдите к действию 5.
-
-
В области навигации дважды щелкните исходную таблицу, чтобы открыть ее в режиме таблицы.
-
Найдите поле с данными, которые используются в списке подстановки, и внесите в них необходимые изменения.
К началу страницы
Удаление несвязанных записей из базы данных
При удалении из базы данных целых записей удаляются значения всех их полей, а также значение ключа, которое делает запись уникальной. Если запись не связана с другими (то есть ключ не хранится в другой записи или таблицах базы), для удаления записи выделите ее и нажмите клавишу DELETE. Для удаления большого количества несвязанных записей, которые слишком долго стирать вручную, можно использовать запрос. В следующих разделах описано, как выполнить каждую из этих задач.
Удаление несвязанной записи вручную
-
В режиме таблицы откройте таблицу или запрос с данными, которые требуется удалить.
-
Найдите запись (строку), которую нужно удалить, и нажмите кнопку Выделить все (квадрат с левого или правого края записи). Можно выделить отдельные строки, несколько смежных строк (щелкните первую и перетащите указатель) либо несколько несмежных строк (щелкните их, удерживая клавишу CTRL).
Access выделит рамкой всю запись (строку) или блок выделенных записей.
-
Нажмите клавишу DELETE.
-или-
На вкладке Главная в группе Записи нажмите кнопку Удалить.
-или-
Щелкните правой кнопкой мыши кнопку Выделить все и выберите команду Удалить запись.
Если вы не можете щелкнуть кнопку Выделить все, установите курсор в поле записи. Затем на вкладке Главная в группе Записи щелкните стрелку вниз рядом с кнопкой Удалить и выберите пункт Удалить запись.
-
Когда Access предложит подтвердить удаление, нажмите кнопку Да.
Удаление несвязанных записей с помощью запроса
С помощью запроса и связанные, и несвязанные записи удаляются одинаково: сначала нужно создать запрос на выборку, затем убедиться, что он возвращает только те записи, которые требуется удалить, а после этого превратить его в запрос на удаление. В следующем разделе объясняется, как удалять несвязанные записи, и приведена некоторая дополнительная информация.
Удаление связанных записей из базы данных с помощью запроса
Процедура удаления связанных записей состоит из перечисленных ниже этапов.
-
Составьте план удаления. Убедитесь, что у вас есть необходимые разрешения для удаления данных, а другие пользователи закрыли все объекты, которые работают с затронутыми таблицами, после чего создайте резервную копию базы.
-
Измените отношения между таблицами, которые участвуют в удалении. В частности, включите параметры Целостность данных и Каскадное удаление связанных записей. Так вы сможете удалить все связанные данные из всех затрагиваемых этой операцией таблиц.
-
Создайте запрос на выборку и задайте условия таким образом, чтобы он возвращал нужный набор записей.
-
Преобразуйте запрос на выборку в запрос на удаление и удалите данные с его помощью.
Полное описание этой процедуры см. в статье Создание и выполнение запроса на удаление.
К началу страницы
support.office.com
Схема данных в Access — Базы данных Access
Реляционная база данных, созданная в соответствии с проектом канонической модели данных предметной области, состоит из нормализованных таблиц, связанных одно-многозначными отношениями. В такой базе данных обеспечивается отсутствие дублирования описательных данных, их однократный ввод, поддержание целостности данных средствами системы. Связи между таблицами позволяют выполнить объединение данных различных таблиц, необходимое для решения большинства задач ввода, просмотра и корректировки данных, получения информации по запросам и вывода отчетов.
Связи между таблицами устанавливаются в соответствии с проектом логической структуры базы данных и запоминаются в схеме данных Access. Схема данных в Access является не только средством графического отображения логической структуры базы данных, она активно используется системой в процессе обработки данных. Создание схемы данных позволяет упростить конструирование многотабличных форм, запросов, отчетов, а также обеспечить поддержание целостности взаимосвязанных данных при вводе и корректировке данных в таблицах.
Создание схемы данных
Создание схемы данных начинается с выполнения команды Схема данных (Relationships) в группе Отношения (Relationships) на вкладке ленты Работа с базами данных (Database Tools). В результате выполнения этой команды открывается окно схемы данных и диалоговое окно Добавление таблицы (Show Table), в котором осуществляется выбор таблиц, включаемых в схему (см. рис. 3.48). Диалоговое окно Добавление таблицы откроется автоматически, если в базе данных еще не определена ни одна связь. Если окно не открылось, на ленте Работа со связями | Конструктор (Relationship Tools | Design) в группе Связи (Relationships) нажмите кнопку Отобразить таблицу (Show Table).
Включение таблиц в схему данных
В окне Добавление таблицы (Show Table) (рис. 3.48) отображены все таблицы и запросы, содержащиеся в базе данных. Выберем вкладку Таблицы (Tables) и с помощью кнопки Добавить (Add) разместим в окне Схема данных (Relationships) все ранее созданные таблицы базы данных Поставка товаров, отображенные в окне Добавление таблицы (Show Table). Затем нажмем кнопку Закрыть (Close). В результате в окне Схема данных (Relationships) таблицы базы будут представлены окнами со списками своих полей и выделенными жирным шрифтом ключами (см. рис. 3.52).
Создание связей между таблицами схемы данных
При создании связей в схеме данных используется проект логической структуры реляционной базы данных, в котором показаны все одно-многозначные связи таблиц. Реализуются связи с помощью добавления в связанные таблицы общих полей, называемых ключом связи. При одно-многозначных отношениях между таблицами ключом связи является ключ главной таблицы (простой или составной). В подчиненной таблице он может быть частью уникального ключа или вовсе не входить в состав ключа таблицы. Одно-многозначные связи являются основными в реляционных базах данных. Одно-однозначные связи используются, как правило, при необходимости распределять большое количество полей, определяемых одним и тем же ключом, по разным таблицам, имеющим разный регламент обслуживания.
Создание связей по простому ключу
Установим связь между таблицами ПОКУПАТЕЛЬ и ДОГОВОР, которые находятся в отношении «один-ко-многим». Устанавливая связи между парой таблиц, находящихся в отношении типа 1 : M, выделим в главной таблице ПОКУПАТЕЛЬ ключевое поле КОД_ПОК, по которому устанавливается связь. Далее при нажатой кнопке мыши перетащим его в соответствующее поле подчиненной таблицы ДОГОВОР.
Поскольку поле связи является уникальным ключом в главной таблице связи, а в подчиненной таблице связи не является ключевым, схема данных в Access выявляет отношение «один-ко-многим» между записями этих таблиц. Значение «один-ко-многим» (One-To-Many) отобразится в окне Изменение связей (Edit Relationships) в строке Тип отношения (Relationship Type) (рис. 3.49).
ЗАМЕЧАНИЕ
Если поле связи является уникальным ключом в обеих связываемых таблицах, схема данных в Access выявляет отношение «один-к-одному«. Если для связи таблиц вместо ключевого поля главной таблицы используется некоторый уникальный индекс, система также констатирует отношение таблиц как 1 : М или 1 : 1.
Определение связей по составному ключу
Определим связи между таблицами НАКЛАДНАЯ ОТГРУЗКА, которые связаны по составному ключу НОМ_НАКЛ + КОД_СК. Для этого в главной таблице НАКЛАДНАЯ выделим оба этих поля, нажав клавишу <Ctrl>, и перетащим их в подчиненную таблицу ОТГРУЗКА.
В окне Изменение связей (Edit Relationships) (рис. 3.50) для каждого поля составного ключа главной таблицы НАКЛАДНАЯ, названной Таблица/запрос (Table/Query), выберем соответствующее поле подчиненной таблицы ОТГРУЗКА, названной Связанная таблица/запрос (Related Table/Query).
Каскадное обновление и удаление связанных записей
Если для выбранной связи обеспечивается поддержание целостности, можно задать режим каскадного удаления связанных записей и режим каскадного обновления связанных полей. Такие параметры делают возможным в главной таблице, соответственно, удаление записей и изменение значения в ключевом поле, т. к. при этих параметрах система автоматически выполнит необходимые изменения в подчиненных таблицах, обеспечив сохранение свойств целостности базы данных.
В режиме каскадного удаления связанных записей при удалении записи из главной таблицы будут автоматически удаляться все связанные записи в подчиненных таблицах. При удалении записи из главной таблицы выполняется каскадное удаление подчиненных записей на всех уровнях, если этот режим задан на каждом уровне.
В режиме каскадного обновления связанных полей при изменении значения ключевого поля в записи главной таблицы Access автоматически изменит значения в соответствующем поле в подчиненных записях.
Установить в окне Изменение связей (Edit Relationships) (см. рис. 3.49) флажки каскадное обновление связанных полей (Cascade Update Related Fields) и каскадное удаление связанных записей (Cascade Delete Related Records) можно только после задания параметра обеспечения целостности данных.
После создания связей изображения таблиц могут перемещаться в пределах рабочего пространства окна схемы данных. Перемещения и изменения размеров окон со списками полей таблиц в окне схемы данных осуществляются принятыми в Windows способами.
Заметим, если каскадное удаление не разрешено, невозможно удалить запись в главной таблице, если имеются связанные с ней записи в подчиненной.
Смотрим видео:
Вот основное, что мы хотели рассказать на тему «Схема данных в Access».
Дальше будем изучать запросы в Access.
accesshelp.ru
Создание и выполнение запроса на удаление
Если нужно быстро удалить большой объем данных или регулярно удалять определенные сведения из базы данных рабочего стола в Access, удобно воспользоваться запросом на удаление или обновление: в этом случае можно указать условия для быстрого поиска и удаления информации. Кроме того, с помощью запросов вы сэкономите время, потому что их можно повторно использовать после сохранения.
Примечание: Перед удалением данных или выполнением запроса на удаление убедитесь в том, что у вас есть резервная копия базы данных рабочего стола Access.
Если необходимо удалить всего несколько записей, использовать запрос не нужно. Можно открыть таблицу в режиме таблицы, выбрать поля (столбцы) или записи (строки), которые требуется удалить, и нажать клавишу DELETE.
Важно: Эта статья относится только к базам данных рабочего стола. Запросы на удаление и обновление невозможно использовать в веб-приложениях Access.
В этой статье
-
Выбор типа запроса
-
Использование запроса на удаление
-
Использование запроса на обновление
-
Дополнительные сведения
-
Советы по устранению неполадок
Выбор типа запроса
Для удаления данных из базы данных можно выбрать запрос на обновление или удаление. Выберите тип запроса на основании сведений в следующей таблице:
Тип запроса |
Когда использовать |
Результаты |
Запрос на удаление |
Удаление всех записей (строк) из таблицы или двух связанных таблиц одновременно. Примечание: Если записи хранятся на стороне «один» отношения «один-ко-многим», перед выполнения запроса на удаление необходимо изменить это отношение. Подробнее читайте в разделе по удалению данных из связанных таблиц. |
Запросы на удаление удаляют все данные в каждом поле, вместе со значением ключа, который делает эту запись уникальной. |
Запрос на обновление |
Удаление отдельных полей из таблицы. |
Упрощает удаление значений путем замены существующих значений на пустое значение (то есть без данных) или на пустую строку (пару двойных кавычек без пробела между ними). |
К началу страницы
Что необходимо проверить перед использованием запроса на удаление любых данных
-
Убедитесь, что файл не открыт в режиме только для чтения.
-
Щелкните правой кнопкой мыши кнопку Пуск и откройте проводник Windows.
-
Щелкните файл базы данных правой кнопкой мыши и выберите пункт Свойства.
-
Проверьте, не выбран ли параметр Только для чтения.
-
-
Проверьте наличие необходимых разрешений на удаление записей из базы данных. При необходимости обратитесь к системному администратору или разработчику базы данных.
-
Убедитесь, что содержимое базы данных активировано. По умолчанию приложение Access блокирует выполнение всех запросов (на удаление, обновление и создание таблицы), пока базе данных не будет предоставлено состояние доверенной. Чтобы узнать о признании базы данных доверенной, см. раздел Выполнение запроса, заблокированного из-за режима отключения содержимого.
-
Попросите других пользователей базы данных закрыть все таблицы, формы, запросы и отчеты, в которых используются удаляемые данные. Это позволит избежать конфликтов блокировки.
-
Перед редактированием или удалением записи необходимо создать резервную копию базы данных на случай необходимости отмены изменений.
Совет: Если с базой данных работает большое количество пользователей, может потребоваться закрыть ее и открыть повторно в режиме монопольного доступа.
Открытие базы данных в монопольном режиме
-
Откройте вкладку Файл и выберите пункт Открыть.
-
Найдите и выберите базу данных, щелкните значок стрелки рядом с кнопкой Открыть, а затем выберите команду Монопольный доступ.
Создание резервной копии базы данных
-
Откройте вкладку Файл и выберите пункт Сохранить как.
-
В разделе Сохранить базу данных как выберите пункт Резервная копия базы данных. Приложение Access закроет исходный файл, создаст резервную копию и снова его откроет.
-
Нажмите кнопку Сохранить как и укажите имя и расположение для резервной копии, а затем нажмите кнопку Сохранить.
Примечание: При использовании базы данных, доступной только для чтения или созданной в более ранней версии приложения Аccess, может появиться сообщение о том, что резервную копию создать невозможно.
Чтобы вернуться к резервной копии, закройте и переименуйте исходный файл, чтобы получить возможность использовать имя исходной версии. Назначьте имя исходной версии резервной копии и откройте переименованную копию.
Использование запроса на удаление
Для создания запроса на удаление на вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов. В диалоговом окне Добавление таблицы дважды щелкните каждую таблицу, из которой необходимо удалить записи, и нажмите кнопку Закрыть.
Таблица будет отображена в верхней части бланка запроса. В списке полей дважды щелкните звездочку (*), чтобы добавить все поля таблицы в бланк запроса.
Использование специальных условий в запросе на удаление
Важно: Условия служат для указания только тех записей, которые требуется удалить. В другом случае запрос на удаление удалит все записи в таблице.
Дважды щелкните поле, которое необходимо указать как условие для удаления, введите условие в строку Условия конструктора запросов и снимите флажок Показать в каждом поле условий.
Рассмотрим пример использования этого параметра. Допустим, необходимо удалить все невыполненные заказы клиента. Чтобы найти записи, необходимо заполнить поля «Код заказчика» и «Дата заказа» в бланке запроса, а потом ввести код заказчика и дату, когда заказы этого клиента стали недействительным.
-
На вкладке Конструктор выберите команду Режим > Режим таблицы.
-
Убедитесь, что выбраны записи, которые требуется удалить, а затем нажмите клавиши CTRL+S, чтобы сохранить запрос.
-
Для выполнения запроса дважды щелкните его в области навигации.
К началу страницы
Использование запроса на обновление
Примечание: Запросы на обновление невозможно использовать в веб-приложениях Access.
В этом разделе описано, как использовать запрос на обновление для удаления отдельных полей из таблиц. Помните, что выполнение запроса на обновление для удаления данных заменяет существующие значения на пустые или на строки нулевой длины (пару двойных кавычек, не разделенных пробелом), в зависимости от заданного условия.
-
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
-
Выберите таблицу с данными, которые вы хотите удалить (если таблица связана, выберите таблицу на стороне отношения «один»), нажмите кнопку Добавить, а затем — Закрыть.
Таблица будет отображена в верхней части бланка запроса. В этом окне перечислены все поля выбранной таблицы.
-
Чтобы добавить все поля в бланк запроса, дважды щелкните звездочку (*). Это позволит удалить все записи (строки) из таблицы.
Дополнительно можно указать условия для одного или нескольких полей в строке Условия, а затем снять флажок Показать в каждом поле условий. Дополнительные сведения см. в таблице Примеры условий для выбора запросов.
Примечание: Условия служат для выбора только тех записей, которые необходимо изменить. В противном случае запрос на обновление изменит все записи в полях запроса на значение NULL.
-
На вкладке Конструктор в группе Результаты выберите команду Режим, а затем — Режим таблицы.
-
Убедитесь, что выбраны записи, вместо которых нужно вставить значение NULL или строку нулевой длины (пару двойных кавычек без пробела между ними («»).
-
При необходимости повторяйте шаги 3–5, изменяя поля или условия отбора, пока не будут выбраны только те данные, которые нужно удалить. После этого нажмите клавиши CTRL+S, чтобы сохранить запрос.
-
Для выполнения запроса дважды щелкните его в области навигации.
К началу страницы
Дополнительные сведения
Удаление данных из связанных таблиц
Если вы хотите удалить данные из нескольких связанных таблиц, необходимо включить параметры Целостность данных и Каскадное удаление связанных записей для каждой из связей. Это позволит запросу удалять данные из таблиц на сторонах отношения «один» и «многие». Подготовка к удалению связанных данных требует проверки следующих параметров.
-
Определите, какие из записей находятся на стороне отношения «один», а какие — на стороне «многие».
-
Если нужно удалить записи на стороне отношения «один» и связанные записи на стороне «многие», включите набор правил «Целостность данных» и разрешите операцию каскадного удаления. Далее в этом разделе описано понятие целостности данных и указано, как выполнить оба действия.
-
Если вам нужно удалить данные только на стороне отношения «один», сначала удалите отношение, а затем — данные.
Если требуется удалить данные только со стороны отношения «многие», создайте и выполните запрос на удаление, не внося изменений в отношение.
Чтобы узнать, какие записи находятся на сторонах отношения «один» и «многие», на вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных. Вкладка Схема данных отображает таблицы в базе данных и связи между ними. Каждая связь изображается линией, соединяющей поля таблиц.
На рисунке ниже изображена типичная связь. В большинстве связей (если не во всех) присутствует сторона «один» и сторона «многие». В схеме связей сторона «один» обозначается единицей (1), а сторона «многие» — знаком бесконечности (∞).
При удалении записей, расположенных на стороне «один», удаляются также все связанные записи на стороне «многие». Однако при удалении записей на стороне «многие» записи на стороне «один» обычно не удаляются.
Коме того, приложение Access автоматически использует набор правил целостности данных. Эти правила обеспечивают правильность значений во внешних ключах базы данных. Внешний ключ — это столбец, значения которого совпадают со значениями в столбце первичного ключа в другой таблице.
Изменение связи
Следующие инструкции выполняются только если необходимо удалить данные на сторонах отношения «один» и «многие».
-
На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
-
Щелкните правой кнопкой мыши связь (линию) между таблицами, включенными в операцию удаления, и выберите в контекстном меню команду Изменить связь.
-
Убедитесь в том, что в диалоговом окне Изменение связей установлен флажок Обеспечение целостности данных.
-
Установите флажок Каскадное удаление связанных записей.
Примечание: Пока вы снова не отключите это свойство, при удалении записей, расположенных на стороне «один», будут удаляться также все связанные записи на стороне «многие».
-
Нажмите кнопку OK и закройте область Схема данных. После этого можно перейти к дальнейшим действиям.
Удаление связи
-
Откройте область Схема данных, если она закрыта.
-
На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
Запишите имена полей, участвующих в отношении, чтобы после удаления данных можно было восстановить связь.
-
Щелкните правой кнопкой мыши связь (линию) между таблицами, включенными в операцию удаления, и выберите в контекстном меню команду Удалить.
Примечание: Чтобы восстановить связь, откройте область Схема данных, как показано выше, и перетащите поле первичного ключа из таблицы «один» на поле внешнего ключа таблицы «многие». Будет открыто диалоговое окно Изменение связей. Если в исходном отношении была включена целостность данных, установите флажок Обеспечение целостности данных и нажмите кнопку Создать. В противном случае просто нажмите кнопку Создать.
К началу страницы
Примеры условий отбора для запросов
В следующей таблице приведены примеры условий, которые можно использовать в запросах на выборку, когда требуется убедиться, что удаляются только необходимые данные. В некоторых из этих примеров используются подстановочные знаки.
Условие |
Результат |
> 234 |
Возвращает все числа больше 234. Чтобы найти все числа меньше 234, используйте условие < 234 |
>= «Новосибирск» |
Выбирает все записи от «Новосибирск» до конца алфавита. |
Between #02.02.2010# And #12.01.2010# |
Выбирает даты между 2-фев-2010 и 1-дек-2010 (ANSI-89). Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте вместо знака решетки (#) одинарные кавычки (‘). Пример: Between ‘02.02.2010’ And ‘12.01.2010’. |
Not «Германия» |
Находит все записи, в которых содержимое поля не соответствует значению «Германия». Согласно этому условию будут найдены записи, содержащие дополнительный текст, кроме слова «Германия», например «Германия (евро)» или «Европа (Германия)». |
Not «Т*» |
Находит все записи, кроме тех, которые начинаются с буквы «Т». Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте знак процента (%) вместо знака звездочки (*). |
Not «*т» |
Находит все записи, которые не оканчиваются буквой «т». Если в базе данных применяются подстановочные знаки ANSI-92, используйте знак процента (%) вместо звездочки (*). |
In(Канада,Великобритания) |
Находит все записи в списке со словами «Канада» или «Великобритания». |
Like «[А-Г]*» |
Находит в поле с типом данных «Текстовые» все записи, начинающиеся с букв «А–Г». Если в базе данных используются подстановочные знаки ANSI-92, используйте знак процента (%) вместо знака звездочки (*). |
Like «*ар*» |
Находит все записи, которые содержат сочетание букв «тр». Если в базе данных применяются подстановочные знаки ANSI-92, используйте знак процента (%) вместо звездочки (*). |
Like «Григорий Верны?» |
Находит все записи, начинающиеся с имени «Григорий» и содержащие вторую строку из 9 букв, из которых 6 букв составляют начало фамилии «Верный», а последняя буква неизвестна. Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте вместо вопросительного знака (?) знак подчеркивания (_). |
#2.2.2010# |
Находит все записи для 2 февраля 2010 г. Если в базе данных используются подстановочные знаки ANSI-92, необходимо заключить дату в одинарные кавычки вместо знаков решетки (‘2.2.2010’). |
< Date() — 30 |
Использует функцию Date для возврата всех дат не менее 30-дневной давности. |
Date() |
Использует функцию Date для возврата всех записей, содержащих текущую дату. |
Between Date( ) And DateAdd(«M», 3, Date( )) |
Использует функции Date и DateAdd которые возвращают все записи между текущей датой и датой на три месяца позже. |
Is Null |
Возвращает все записи, содержащие пустое (незаполненное или неопределенное) значение. |
Is Not Null |
Выбирает все записи с любым (не пустым) значением. |
«» |
Возвращает все записи, содержащие строку нулевой длины. Пустые строки служат для добавления значений в обязательные поля, если фактическое значение неизвестно. Например, в поле требуется ввести номер факса, но у некоторых клиентов его нет. В этом случае вводится пара двойных кавычек без пробела («»). |
К началу страницы
Советы по устранению неполадок
Почему на экране может появиться это сообщение об ошибке, и как его исправить?
Если запрос на удаление строится с использованием нескольких таблиц, а для свойства запроса Уникальные значения задано значение Нет, при попытке выполнения запроса Access выведет на экран сообщение об ошибке Удаление из указанных таблиц невозможно.
Чтобы решить эту проблему, задайте для свойства запроса Уникальные значения значение Да.
-
Откройте запрос на удаление в конструкторе.
-
Если окно свойств запроса не открыто, нажмите для его открытия клавишу F4.
-
Щелкните конструктор запросов, чтобы в окне свойств отображались свойства запроса, а не свойства поля.
-
В окне свойств найдите свойство Уникальные значения и назначьте ему значение Да.
Выполнение запроса, заблокированного из-за режима отключения содержимого
Если открыть базу данных рабочего стола, которая не является доверенной или не находится в надежном расположении, Access будет по умолчанию блокировать все запросы на изменение.
Если при попытке выполнения запроса на изменение ничего не происходит, проверьте, не появляется ли в строке состояния Access следующее сообщение:
Данное действие или событие заблокировано в режиме отключения.
Если отображается это сообщение, чтобы разблокировать содержимое, выполните следующие действия.
К началу страницы
support.office.com
Удаление поля — Access
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .
Можно удалить поле из запроса или таблицы. При удалении поля из запроса оно сохраняется в базе данных, но больше не используется в запросе. При удалении поля из таблицы оно удаляется из базы данных.
В этом разделе описана процедура удаления поля из запроса или таблицы и приведены соответствующие пошаговые инструкции.
В этом разделе не подробно #Deleted отображается в поле или элемент управления. В большинстве случаев, #Deleted указывает, что в настоящее время отображаемой записи недавно был удален. Как правило обновления данных исправить это. Дополнительные сведения об обновлении данных читайте в статье обновление или повторный запрос данных.
В этой статье
-
Общие сведения
-
Просмотрите зависимостей объектов, прежде чем удалять поля
-
Удаление поля из запроса
-
Удаление поля из таблицы
Обзор
После удаления поля из запроса другие объекты базы данных, например формы, не смогут использовать запрос в качестве источника данных из удаленного поля. Однако такие объекты могут по-прежнему использовать поле, если в качестве источника данных применяется таблица или используется другой запрос, содержащий это поле.
Поле, удаленное из таблицы, недоступно для всех объектов базы данных.
Перед удалением поля рекомендуется проверить с помощью области зависимостей объектов, не зависят ли другие объекты базы данных от запроса или таблицы, из которых удаляется поле. Это дает возможность понять, как удаление поля повлияет на другие объекты базы данных, и соответствующим образом изменить структуру этих объектов.
К началу страницы
Проверка зависимостей объектов перед удалением поля
-
В области переходов выберите запрос или таблицу, содержащие поле, которое требуется удалить.
-
На вкладке Инструменты базы данных в группе Показать или скрыть нажмите кнопку Зависимости объектов.
В области зависимостей объектов отображаются объекты, зависящие от запроса или таблицы, выбранных в действии 1.
Примечание: Если область зависимостей объектов использовалась давно, отображение зависимостей может занять некоторое время.
-
Чтобы определить, используется ли поле, которое требуется удалить, определенным объектом, щелкните ссылку объекта в области зависимостей объектов. Будет выведена область Список полей для объекта.
Удаление поля из запроса
-
В области переходов щелкните правой кнопкой мыши запрос и выберите команду Конструктор.
-
В бланке запроса выберите поле, которое требуется удалить, и нажмите клавишу DEL.
-
Закройте и сохраните запрос.
К началу страницы
Удаление поля из таблицы
-
В области переходов щелкните правой кнопкой мыши таблицу и выберите команду Конструктор.
-
В бланке таблицы выберите поле, которое требуется удалить, и нажмите клавишу DEL.
-
Закройте и сохраните таблицу.
К началу страницы
support.office.com
Общие сведения о схеме данных
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Схема данных позволяет определить отношение между элементами, которые хранятся в многочисленных таблицах Access. Чтобы увидеть его, выберите вкладку Работа с базами данных и щелкните элемент Схема данных.
Связи похожи на правила, определяющие способ подключения данных в базе данных. Например, в хорошо нормализованной базе данных обработки заказов, вероятнее всего, у вас есть сведения о клиенте в одной таблице и сведения о заказе в другой таблице. Хотите убедиться, что клиенты не отделены от заказов, верно? Вы не хотите, чтобы заказ был создан без действительного клиента, подключенного к нему. В окне «Схема данных» можно настроить эти правила так, чтобы они были применены ко всем данным.
Если вы уже создавали запрос Аccess, вы заметите, что окно «Схема данных» похоже на верхнюю часть построителя запросов:
Чтобы добавить таблицу в представление, используйте команды на вкладке Конструктор в окне «Схема данных», а затем перетаскивайте поля между таблицами, чтобы установить отношения. В этом примере отношения соединяют каждого из клиентов с несколькими заказами, но не позволяют создать заказ для несуществующего клиента. Когда вы установите эти правила в окне «Схема данных», они будут применятся ко всей базе данных (например, если вы создадите новый запрос, связи установятся автоматически согласно правил).
Примечание: Удаление таблицы из окна «Схема данных» не приведет к ее удалению из базы данных. Установленные отношения тоже не удаляются.
Возможные действия
Задача |
Инструкции |
Добавление таблицы или запроса в окно |
На вкладке «Конструктор» щелкните Добавление таблицы, выберите необходимую таблицу или запрос, а затем нажмите кнопку Добавить. |
Удаление таблицы или запроса из окна |
Выберите таблицу или запрос и нажмите клавишу DELETE. |
Скрытие таблицы или запроса |
Щелкните таблицу или запрос правой кнопкой мыши и выберите пункт Скрыть таблицу. |
Создание отношения |
Перетащите поле из одной таблицы или запроса в соответствующее поле в другой таблице или запросе. |
Установка параметров отношения |
Щелкните линию связи между двумя таблицами правой кнопкой мыши (может понадобиться несколько попыток, чтобы попасть на нее), а затем выберите пункт Изменение отношения. |
Удаление отношения |
Щелкните линию связи между двумя таблицами правой кнопкой мыши (может понадобиться несколько попыток, чтобы попасть на нее), а затем выберите пункт Удалить. |
Отображение всех отношений |
На вкладке Конструктор щелкните элемент Все связи. |
Просмотр связей конкретной таблицы |
Выберите таблицу, а затем на вкладке Конструктор щелкните элемент Прямые связи. |
Просмотр связей одной таблицы без связей других таблиц |
На вкладке Конструктор в группе Сервис щелкните элемент Очистить макет. Добавьте таблицу, для которой необходимо отобразить связи (Конструктор > Связи > Добавление таблицы), а затем на вкладке Конструктор в группе Связи выберите элемент Прямые связи. |
Теперь, когда вы ознакомились с окном «Схема данных», узнайте, как создать, изменить или удалить связь.
support.office.com