Access :: UPDATE из другой таблицы

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Access :: UPDATE из другой таблицы

Сообщение skiperski » 11.11.2005 (Пт) 21:49

Собираю статистику по разным таблицам.

Такой вот запрос проходит:
Код: Выделить всё
UPDATE Links
    INNER JOIN Products AS p ON p.ID=Links.Product
SET Links.Summ = p.Preis*p.Quan, ...

, где Products - таблица.

А вот на такой почти идентичный запрос - ругается
Код: Выделить всё
UPDATE Billings
    INNER JOIN Links2 AS l ON l.Billing=Billings.ID
SET Billings.Summ = l.pSumm, ...

, где Links2 - запрос
Код: Выделить всё
SELECT [Billing], SUM([Summ]) AS pSumm, ...
FROM Links
GROUP BY [Billing];


Ругается примерно так: должен быть использован актуализируемый запрос.

Почему так происходит? Чего нужно этому Access'у? Как выполнить, желательно одним запросом, обновление с суммированием полей из другой таблицы?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.11.2005 (Пт) 22:11

Link2 - вычисляемый и, следовательно, необновляемый запрос.
Access не любит необновляемые запросы в команде UPDATE...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 11.11.2005 (Пт) 22:34

Так-то оно так, но этот запрос выступает только как источник данных. Эх, придётся временную таблю делать.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList