Перейти к основному контенту
Office

Редактирование данных в запросе

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

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

В этой статье

Введение

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

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

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Запрос — это перекрестный запрос.

  • Запрос — это SQL-запрос.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

×