Запрос на обновление принимает только одну строку в качестве значения - Access 2000?

Я не могу понять, почему мой запрос на обновление принимает только значение в последней строке и помещает его во все остальные в том же столбце.

Вот картинки:

обновить запрос 1

обновить запрос 2

Итак, мне нужно рассчитать процент (PBrojProdPoTip), учитывая BrojProdPoTip и VkBrojProdPoTip, который является суммой.

PBrojProdPoTip = BrojProdPoTip * 100 / VkBrojProdPoTip 

Если вы попробуете последнее значение, 244 из 18248 даст 01,34%

P = 244 * 100 / 18248 = 1.34%

Что я делаю не так? Почему требуется только одно значение?

3 ответа

У вас есть декартовой (умножающийся) запрос.

Вероятно, он обновляется с использованием всех значений VkBrojProdPoTip. Однако каждый из них перезаписывает предыдущий, поэтому вы видите только последнее обновление.

С давних пор я использовал Access Query Design для этого, но я уверен, что ваша проблема в том, что вы не создали отношений между тремя таблицами. В результате все поля в целевой таблице обновляются со всеми ответами из вашего расчета. На практике все они получают последнее вычисленное значение. Вместо этого вам нужно создать ссылки между таблицами, что вы можете сделать перетаскиванием.

Я нашел гораздо лучшее решение. Основная таблица, которую я заполняю данными, уже содержит значения, поэтому я просто удалил вспомогательную таблицу T10_nezbirni и заменил ее значения на [T10-promet].[BrojProdPoTip].

Вот скриншот:

обновить запрос 3

Другие вопросы по тегам