У меня необычная проблема.Я создаю приложение в MS Access и при создании кода я столкнулся с ошибкой.Я начал с поиска решения самостоятельно и наконец нашел его.Как правило, мой код доступа не работает из-за «глупой ошибки».
Посмотрите на второй ответ с 13 преимуществами в этой теме: Как выполнить запрос на обновление с подзапросом в Access? Как видите, MS Access не позволяет выполнять подзапрос (?) В запросе.Я создал ту же среду в SQL Server, и она работала.Может ли кто-нибудь помочь мне переписать мой запрос?
SQL
UPDATE DANE_BUD_ALL_BR
SET ID_ewidencji = (
SELECT ID_ewidencji FROM Ewidencje
WHERE Ewidencje.E_numerProjektu LIKE DANE_BUD_ALL_BR.numerProjektu
)
WHERE Identyfikator IN (
SELECT b.Identyfikator
FROM DANE_BUD_ALL_BR b INNER JOIN Ewidencje e
ON e.E_numerProjektu = b.numerProjektu
WHERE e.E_numerProjektu LIKE b.numerProjektu
);
Я бы хотел, чтобы запрос выполнялся так же, как в SQL Server - потому что он там работает.
// Есть две таблицы: 'ewidencje' и 'dane'.Они связаны с «ID_ewidencji», в обеих таблицах есть поле «numerProjektu» (игнорируйте тот факт, что это дублирование данных в базе данных).Фото 1 показывает данные перед запросом SQL.После моего запроса UPDATE я бы хотел, чтобы поле «ID_ewidencji» в таблице «data» было заполнено на основе одного и того же «numerProjektu» из обеих таблиц.После запроса (фото 2) мы видим, что это произошло.Однако при доступе возникает ошибка: операция должна использовать запрос таблицы обновления.
Это фото 1 Это фото 2