Запрос доступа: указанное выражение не включено - PullRequest
0 голосов
/ 19 октября 2018

Мне нужно обновить Table1.Budget с sum(Employee.[Monthly budget]), учитывая только сотрудников, у которых есть дата набора после Table1.Date.

Я пытаюсь использовать этот запрос:

UPDATE Table1 SET Budget = (Sum(Employee.[Monthly budget])) WHERE Table1.Date > Employee.[Date of recruitment];

но я получаю эту ошибку:

enter image description here

enter image description here

enter image description here

РЕДАКТИРОВАТЬ

Я использую этот код:

UPDATE Table1
    SET Budget = (SELECT Sum(Employee.[Monthly budget]) FROM Employee WHERE Table1.Date > Employee.[Date of recruitment]);

, но я получаю сообщение об ошибке Operation must use an updatable query.

Ответы [ 3 ]

0 голосов
/ 19 октября 2018

Я не вижу ВЫБРАТЬ ОТ сотрудника:

UPDATE Table1 
SET Budget = 
SELECT Sum(Employee.[Monthly budget]) 
FROM Employee 
WHERE Table1.[Date] > Employee.[Date of recruitment];
0 голосов
/ 25 октября 2018

Если у вас есть проблема «Операция должна использовать обновляемый запрос», просто замените свой подзапрос на DSUM().
Это, вероятно, медленнее, но должно выполнить работу.

UPDATE Table1 
SET Budget = DSUM("Monthly Budget", "Employees", "[Date of recruitement] < " & [Date])

(быстро написано, но вы поняли идею)

Кстати, использование даты в качестве имени поля - ОЧЕНЬ плохая идея !!!

0 голосов
/ 19 октября 2018

Я думаю, что вы хотите подзапрос, возможно:

UPDATE Table1
    SET Budget = (SELECT Sum(Employee.[Monthly budget]) FROM Employee WHERE Table1.Date > Employee.[Date of recruitment]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...