MS-Access - обновить столбец, используя результаты присоединения к другой таблице

Константа sys.maxint была удалена из Python 3.0, вместо этого используется sys.maxsize

Целые числа

  • PEP 237: по существу, длинный переименованный в int , То есть существует только один встроенный интегральный тип с именем int; но он ведет себя в основном как старый длинный тип.
  • PEP 238: выражение типа 1/2 возвращает float. Используйте 1 // 2, чтобы получить усечение. (Последний синтаксис существует в течение многих лет, по крайней мере, с Python 2.2.)
  • Константа sys.maxint была удалена, поскольку значение целых чисел больше не ограничено. Однако sys.maxsize может использоваться как целое число, большее любого практического списка или индекса строки. Он соответствует «натуральному» целочисленному размеру реализации и обычно совпадает с sys.maxint в предыдущих выпусках на той же платформе (при условии одинаковых возможностей сборки).
  • Функция repr () длинного целого doesn 't включить trailing L больше, поэтому код, который безоговорочно ограничивает этот символ, вместо этого отменяет последнюю цифру. (Вместо этого используйте str ().)
  • Восьмеричные литералы больше не имеют формы 0720; Вместо этого используйте 0o720.

См. https://docs.python.org/3/whatsnew/3.0.html

1
задан CornelC 28 February 2019 в 10:07
поделиться

1 ответ

Это общая проблема.

В запросе на обновление в 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
0
ответ дан Erik A 28 February 2019 в 10:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: