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

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

В этом разделе...

Введение

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

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

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

Дополнительные сведения о запросах на обновление см. в статье Создание и выполнение запроса на обновление.

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

Дополнительные сведения о запросах make-table см. в статье Создание запроса к таблице.

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

Когда можно изменять данные в запросе?

Вы всегда можете изменить данные в запросе, если запрос основан только на одной таблице или на двух таблицах, которые имеют отношение "один-к-одному" друг к другу.

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

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

Когда нельзя изменять данные в запросе?

Вы никогда не можете изменить данные в запросе, когда:

  • Запрос представляет собой перекрестный запрос.

  • Запрос представляет собой SQL-запрос.

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

  • Запрос основан на трех или более таблицах и имеет отношение "многие ко многим".

    Примечание: Хотя в этом случае вы не можете изменить таблицу запросов, вы можете изменить данные в форме, если для свойства RecordsetType формы задано значение Dynaset (несогласованный Обновления).

  • Запрос содержит предложение GROUP BY.

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

Разделы справки изменить запрос, чтобы можно было изменить его данные?

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

Невозможно изменить значения в таблице запросов, если:

Чтобы сделать таблицу запросов доступной для редактирования:

Для свойства Уникальные значения запроса задано значение Да.

Задайте для свойства Уникальные значения запроса значение Нет.

Сведения о том, как задать это свойство, см. в следующем разделе , чтобы задать для свойства Unique Values значение Нет.

Запрос включает связанную база данных ODBC таблицу без однозначный индекс или таблицу Paradox без первичный ключ.

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

У вас нет разрешений на обновление данных для базовой таблицы.

Назначение разрешений на обновление данных.

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

Создайте соответствующие соединения.

Сведения о создании соединений см. в разделе Создание соединений.

База данных открыта как доступная только для чтения или находится на диске только для чтения.

Закройте базу данных и снова откройте ее, не нажимая кнопку Открыть только для чтения. Или, если база данных находится на диске только для чтения, удалите атрибут только для чтения с диска или переместите базу данных на диск, который не доступен только для чтения.

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

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

Запрос основан на таблицах с отношение "один-ко-многим", а поле соединения со стороны "многие" не является выходным полем. В этом случае данные в поле соединения со стороны "один" не могут быть изменены.

Добавьте поле соединения со стороны "многие" связи в поля вывода запроса.

Сведения о добавлении поля соединения см. в разделе Добавление поля соединения со стороны "многие" в поля выходных данных запроса.

Поле соединения со стороны "многие" (после изменения данных) находится на стороне "один".

Нажмите клавиши SHIFT+F9 , чтобы зафиксировать изменения и обновить запрос.

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

Убедитесь, что в этом поле есть значение на стороне "один". Вы можете изменить поле соединения на стороне "многие", только если в этом поле есть значение на стороне "один".

Вы используете связанную таблицу базы данных ODBC, и не все поля из уникального индекса связанной таблицы находятся в выходных данных запроса.

Добавьте все поля из уникального индекса таблицы ODBC в поля вывода запроса.

Сведения о добавлении полей см. в разделе Добавление полей уникального индекса из связанной таблицы ODBC.

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

Задайте для свойства Уникальные значения значение Нет.

  1. Откройте запрос в режиме конструктора.

  2. Если страница Свойств не открыта, откройте ее, нажав клавишу F4. Щелкните один раз в сетке конструктора запросов, чтобы убедиться, что на странице свойств отображаются свойства запроса, а не свойства полей.

  3. На странице свойств найдите поле свойства Уникальные значения . Щелкните поле рядом с ним, щелкните стрелку в этом поле и нажмите кнопку Нет.

Создание соединений

  1. Откройте запрос в режиме конструктора.

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

Дополнительные сведения о создании соединений см. в статье Соединение таблиц и запросов.

Добавление поля соединения со стороны "многие" в поля выходных данных запроса

  1. Откройте запрос в режиме конструктора.

  2. В конструкторе запросов найдите соединение, соответствующее соответствующей связи "один ко многим".

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

Добавление полей уникального индекса из связанной таблицы ODBC

  1. Откройте запрос в режиме конструктора.

  2. В конструкторе запросов найдите связанную таблицу ODBC.

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

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

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

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

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

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

×