Операция должна использовать обновляемый запрос. (Ошибка 3073) Microsoft Access - PullRequest
21 голосов
/ 04 октября 2008

На некоторые запросы Microsoft Access я получаю следующее сообщение: Операция должна использовать обновляемый запрос. (Ошибка 3073). Я работаю над этим, используя временные таблицы, но мне интересно, есть ли лучший способ. Все задействованные таблицы имеют первичный ключ. Вот код:

UPDATE CLOG SET CLOG.NEXTDUE = (
    SELECT H1.paidthru 
    FROM CTRHIST as H1
    WHERE H1.ACCT = clog.ACCT AND
    H1.SEQNO = (
        SELECT MAX(SEQNO) 
        FROM CTRHIST 
        WHERE CTRHIST.ACCT = Clog.ACCT AND 
        CTRHIST.AMTPAID > 0 AND
        CTRHIST.DATEPAID < CLOG.UPDATED_ON
    )
)
WHERE CLOG.NEXTDUE IS NULL;

Ответы [ 21 ]

0 голосов
/ 07 января 2013

Сегодня в моем MS-Access 2003 с табулой ODBC, указывающей на SQL Server 2000 с паролем sa, я получил ту же ошибку.
Я определил первичный ключ для таблицы в базе данных SQL Server, и проблема исчезла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...