Хотя @Gordon Linoff правильно определил синтаксическую ошибку в вашем запросе, если вы запустите запрос в MS Access, вы, скорее всего, получите знакомый ответ:
Операция должна использовать обновляемый запрос.
Это возникает в результате ограничения базы данных JET, используемой MS Access, когда ни одна часть запроса update
не может использовать агрегацию. В вашем случае это возникает в результате использования count(*)
.
. Одна из возможных альтернатив - использовать агрегатную функцию домена DCount
, которая оценивается отдельно от оценки. основного запроса и, следовательно, сохраняет «обновляемость» запроса.
update korrekturentlastung
set schueler =
dcount
(
"*",
"Korrekturentlastung",
"Kuerzel = " & Korrekturentlastung.Kuerzel & " and "
"Klasse = " & Korrekturentlastung.Klasse & " and "
"Fach = " & Korrekturentlastung.Fach & " and "
"Kursart = " & Korrekturentlastung.Kursart
)
Обратите внимание, что если ваши поля являются текстовыми полями, вам также необходимо заключить вышеуказанные значения в одинарные или двойные кавычки, например:
update korrekturentlastung
set schueler =
dcount
(
"*",
"Korrekturentlastung",
"Kuerzel = '" & Korrekturentlastung.Kuerzel & "' and "
"Klasse = '" & Korrekturentlastung.Klasse & "' and "
"Fach = '" & Korrekturentlastung.Fach & "' and "
"Kursart = '" & Korrekturentlastung.Kursart & "'"
)