Это распространенная проблема.
В запросе на обновление в Access все столбцы в любом запросе, включая подзапросы, но исключая EXISTS
, должны быть обновляемыми.
Поскольку выВы вычисляете Amounts.Amt_fcy*Fx_rates.Rate
в подзапросе, и он не может быть обновлен, запрос не выполняется.
Этот запрос может быть переписан для выполнения этого вычисления в основном запросе и в то же время работать намного быстрее:
Update Amounts
Left join Fx_rates on Amounts.Data=Fx_rates.Data
set Amt_lcy = Amounts.Amt_fcy*Fx_rates.Rate