Как сделать сквозной / passthru запрос редактируемым?

В Microsoft Access 2007 с бэкэндом SQL Server мы обычно берем связанную таблицу из SQL Server как Form.RecordSource редактируемой формы для модификации данных одной таблицы. Локальный запрос используется для изданий кросс-таблиц, которые объединяют поля из нескольких связанных таблиц. Локальный запрос должен быть обновляемым сам по себе для изменения данных в форме редактирования.

Теперь мы планируем заменить все локальные запросы сквозными запросами, чтобы напрямую использовать собственные таблицы SQL Server.

Я попытался создать очень простой промежуточный запрос с именем qrySelProductsPassThroughEditable со следующей строкой SQL:

SELECT dbo.Products.ID, dbo.Products.Name FROM dbo.Products;

Поле ID - это поле IDENTITY, определенное как первичный ключ в SQL Server в качестве определения:

CREATE TABLE [dbo].[Products](
    [ID] [int] IDENTITY(1,1) NOT NULL,
        ....
)

Но таблица данных, возвращаемая сквозным запросом Access, вообще не редактируется. Так что его нельзя использовать как .RecordSource для формы редактирования.

Это противоречитссылка это говорит о том, что если промежуточный запрос содержит все первичные ключи всех задействованных таблиц, запрос будет редактируемым.

Заключение добавил апостериорный

В приведенных ниже обсуждениях сквозной запрос в Microsoft Access 2007 .accdb, .accde или .accdr (Access runtime) всегда доступен только для чтения, он никогда не редактируется. Вы должны использовать его как окончательный список или как .RecordSource отчета, а не для формы, для которой вы должны использовать связанную таблицу, или для обычного запроса с возможностью записи, включающего связанные таблицы для ввода-вывода данных.

Ответы на вопрос(4)

Ваш ответ на вопрос