Таблицы данных ODBC недоступны для редактирования с помощью запроса доступа при определенных условиях.
8/20/2019

У меня есть таблицы базы данных ODBC из базы данных SQL, связанные с моим приложением Access.

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

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

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

Пожалуйста, помогите, если можете. Спасибо

Гэри

Ответы (8)

Cecelia Sawayn
8/20/2019

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

Помогло 0 людям
Jaime Gerlach
8/21/2019

Привет, Скотт, спасибо за быстрый ответ. Я надеюсь, что приведенная ниже информация позволит вам помочь диагностировать эту проблему. Таблицы внешних файлов данных (micros.db) Таблица определения меню mi_def в поле micros.db mi_seq PK примечание: Я не могу связать таблицу “mi_def” из-за “слишком большого количества индексов; уменьшите индексы и повторите попытку”. Если есть решение этой проблемы, это было бы здорово. Индексы являются частью схемы micros.db, поэтому их нельзя изменить. подтаблица mi_price_def “Цена” для таблицы определения меню mi_price_seq Поле PK mi_seq FK – отношение внешнего ключа к таблице mi_def Поле цены Preset_amt_1, которое будет обновлено из доступа Примечание: Я могу связать эту таблицу. Я могу выполнить запрос “выбрать” для просмотра и редактирования значений полей. Это верно, если в диалоговом окне "Разработка запроса" нет других таблиц. Когда в структуре запроса отображается другая таблица, все поля недоступны для редактирования. Вторая таблица может быть из micros.db или из access.accdb. Локальная таблица файлов данных (pm_be.accdb) Таблица определений элементов меню TBLMICROS в PM_BE.accdb MidefPriceSeqNum FK – связь внешнего ключа с таблицей mi_price_def. На следующих страницах вы найдете: Выберите дизайн запроса в форме sql Отображается диалоговое окно выбора дизайна запроса с включенными таблицами 2. Результаты запроса select. (значения недоступны для редактирования) Инструкция Select query, показанная ниже, скопирована из диалогового окна "Дизайн запроса доступа". ВЫБЕРИТЕ micros_mi_price_def.mi_seq, micros_mi_price_def.mi_price_seq, micros_mi_price_def.предустановка_amt_1, tblmicros.Имя ДЛЯ ПЕЧАТИ ИЗ micros_mi_price_def ДЛЯ ВНУТРЕННЕГО СОЕДИНЕНИЯ С TBLMICROS В micros_mi_price_def.mi_seq = tblmicros.MIDEFSEQNUM УПОРЯДОЧИТЬ ПО micros_mi_price_def.mi_seq; 3. Выберите изображение дизайна запроса [https://filestore.community.support.microsoft.com/api/images/700f0c5b-76a8-4122-b0e2-f9e8cbbd14e5?upload=true] [https://filestore.community.support.microsoft.com/api/images/700f0c5b-76a8-4122-b0e2-f9e8cbbd14e5?upload=true ] Результаты выбора изображения запроса [https://filestore.community.support.microsoft.com/api/images/d3bab881-9541-4d50-8ece-a7282f521449?upload=true] [https://filestore.community.support.microsoft.com/api/images/d3bab881-9541-4d50-8ece-a7282f521449?upload=true]

Помогло 0 людям
Cecelia Sawayn
8/21/2019

Привет, Гэри, хорошо, сообщение с индексом - это ключ к разгадке. Я собираюсь отсылать вас к статье, написанной моим другом, в которой подробно описывается, почему запросы могут быть недоступны для редактирования. http://rogersaccessblog.blogspot.com/2009/11/th ... [http://rogersaccessblog.blogspot.com/2009/11/this-recordset-is-not-updateable-why.html ] Примечание: это статья, не принадлежащая корпорации Майкрософт, но полученная из надежного источника. Суть здесь в том, что вам нужно либо устранить проблему, либо использовать форму с основной формой/подчиненной формой для редактирования данных.

Помогло 0 людям
Jaime Gerlach
8/21/2019

Еще раз спасибо за ваш быстрый ответ. Сообщение об ошибке индекса, которое вы находите в качестве подсказки, связано с таблицей, к которой я НЕ пытаюсь получить доступ (из-за этого сообщения об ошибке). Таблица, на которую у меня есть ссылка, имеет значение первичного ключа и доступна для редактирования до тех пор, пока не будет добавлена другая таблица. Я попытаюсь создать связь формы/подформы. Я прочитал документ ваших друзей, и похоже, что он определяет в одном из сценариев то же состояние, в котором у меня проблема. Ссылка на таблицу ODBC, за исключением того, что в рассматриваемой таблице есть уникальное поле значения индекса. Спасибо, Гэри

Помогло 0 людям
Angel Breitenberg
8/21/2019

Я думаю, что проблема может заключаться в том, что ваше соединение относится к одному полю, а не ко всему первичному ключу. Обычно лучше использовать подчиненные формы для редактирования нескольких таблиц.

Помогло 0 людям
Orville Parker
8/22/2019

У вашего tblMicros, похоже, нет ПК. Хотя вы не используете PK этой таблицы в своем коде редактирования, в "большинстве" случаев, если вы используете запрос множественной таблицы (с объединением, как у вас есть), то для КАЖДОЙ таблицы, как правило, потребуется PK. Таким образом, у этого дочернего tabletblMicrros должен быть определен PK. Простого "идентификатора" автономера должно быть достаточно. Таким образом, если каждая таблица не имеет определенного значения PK, то при использовании таких таблиц в соединении результат обычно не является несъедобным. С уважением, Альберт Д. Каллал (Access MVP 2003-2017) Эдмонтон, Альберта, Канада

Помогло 0 людям
Jaime Gerlach
8/22/2019

Спасибо. Я продолжу создание формы/подчиненной формы, чтобы посмотреть, возможно ли редактирование.

Помогло 0 людям
Jaime Gerlach
8/22/2019

Спасибо за ваш вклад, Альберт. У меня есть первичный ключ для tblMicros. Это не видно на изображении. Во внешней таблице действительно есть PK, и я создал связь с FK FK из tblMicros. Другие комментарии указывают на то, что мне нужно создать форму/подформу, чтобы закрепить эти отношения. Я отправлюсь туда в следующий раз. Гэри

Помогло 0 людям

Похожие вопросы