Поле в веб-приложении неожиданно оказалось доступным только для чтения

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

Важно    Корпорация Майкрософт больше не рекомендует создавать и использовать веб-приложения Access в SharePoint. В качестве альтернативного средства для бизнес-решений, не требующих дополнительного программирования и работающих в браузере и на мобильных устройствах, рекомендуется использовать Microsoft PowerApps.

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

Примечание : Эта статья посвящена веб-приложения Access. Он не относится к классическим базам данных. Если возникают проблемы с помощью запроса в базе данных на компьютере читайте в статье Знакомство с запросами Обзор.

Требования к обновляемым полям запроса

  • Обновлять можно только поля таблицы, в которой объединенное поле не содержит уникальных значений (таблица "большинство — многие").

  • Результаты запроса включают поля первичного ключа таблицы "большинство — многие".

  • Таблица "большинство — многие" должна быть расположена на внутренней стороне внешнего соединения (левая сторона левого внешнего соединения или правая сторона правого внешнего соединения).

Диаграмма запроса, где показаны обновляемые поля

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

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

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

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

Поиск и решение проблемы обновления полей

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

  1. Если вы запускаете в браузере, откройте веб-приложение в Access: в правом верхнем углу окна приложения, выберите Параметры > Настроить в Access.

  2. В Access нажмите клавишу F11, чтобы отобразить область навигации (если она не отображена), щелкните в ней правой кнопкой мыши запрос и выберите пункт Режим конструктора.

    Контекстное меню запроса в области навигации

  3. Определите, какая таблица в запросе является таблицей "большинство — многие". Помните, что она подставляет данные из другой таблицы.

  4. Проверьте, расположено ли поле, которое необходимо обновить, в таблице "большинство — многие". Если нет, то изменением запроса проблему решить не удастся. Чтобы пользователи могли редактировать поле, можно создать новое обновляемое представление только на основе таблицы, а затем упростить его открытие. Например, можно создать кнопку с макросом, который открывает представление.

  5. Проверьте, что первичный ключ таблицы большинство — многие включена в результаты запроса. Если он еще не открыт, добавить первичный ключ в результаты запроса.

  6. Дважды щелкните каждое соединение и убедитесь, что:

    • соединение является внутренним; или,

    • если соединение является внешним, таблица "большинство — многие" находится на внутренней стороне соединения: на левой стороне левого соединения или на правой стороне правого соединения.

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

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

Добавление первичного ключа "большинство — многие" в результаты запроса

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

  2. Определите таблицу "большинство — многие".

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

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

    Строка "Показать" в бланке запроса

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

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

Если любой соединение не соответствует одному из условий выше, не даст обновлений. Вот пример необновляемых соединения:

Диалоговое окно "Параметры объединения"

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

Способы сделать внешнее соединение обновляемым

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

  • Изменение внешнее соединение на внутреннее.    Выберите вариант 1 в диалоговое окно " Параметры объединения ".

  • Переключение таблицы местами.    Перемещение таблицы большинство — многие стороне внутреннее соединение и другой таблицы на стороне внешнее (используйте поле со списком полей в диалоговом окне Параметры объединения, чтобы задать имена таблиц слева и справа).

  • Измените направление соединения.    Выберите параметр 2 или 3 в диалоговом окне Параметры объединения (измените его значение на любое другое).

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

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

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

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

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

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

×