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

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

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

Введение

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

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

Кроме изменения данных в режиме таблицы запроса, можно также использовать запрос на обновление для обновления данных в таблице. Эта статья не охватывает запросы на обновление.

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Запрос основан на трех или более таблицах, и существует связь "многие-к-многим".

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

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

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

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

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

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

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

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

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

Чтобы узнать, как установить это свойство,см. следующий раздел (значение "Нет" для свойства "Уникальные значения").

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

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

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

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

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

Создайте необходимые соединители.

Чтобы узнать, как создавать соединители,см. раздел "Создание соединители".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Создание соединители

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?

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

×