Como tornar editável uma consulta de passthru / passagem?

No Microsoft Access 2007 com um back-end do SQL Server, geralmente usamos uma tabela vinculada do SQL Server como Form.RecordSource de um formulário editável para uma modificação de dados de tabela única. Uma consulta local é usada para as edições de tabelas cruzadas que combinam campos de várias tabelas vinculadas. A consulta local deve ser atualizável para modificar dados no formulário de edição.

Agora estamos planejando substituir todas as consultas locais por consultas de Passthrough para usar tabelas nativas do SQL Server diretamente.

Eu tentei criar uma consulta passthru muito simples chamada qrySelProductsPassThroughEditable com a seguinte cadeia SQL:

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

O campo ID é o campo IDENTITY definido como Chave Primária no SQL Server como a definição:

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

Mas a folha de dados retornada pela consulta passagem de acesso não é editável em todos os. Portanto, não é utilizável como .RecordSource para um formulário de edição também.

Isso é contrário aa ligação que diz que se uma consulta passthru contiver todas as chaves primárias de todas as tabelas envolvidas, a consulta será editável.

Conclusão Adicionado a Posteriori

Por meio das discussões abaixo, uma consulta de passagem em um Microsoft Access 2007 .accdb, .accde ou .accdr (tempo de execução do Access) é sempre somente leitura, nunca é editável. Você deve usá-lo como uma lista final ou como o .RecordSource de um relatório, não para um formulário para o qual você deve usar uma tabela vinculada ou uma consulta normal gravável envolvendo tabelas vinculadas para o data IO.

questionAnswers(4)

yourAnswerToTheQuestion