Есть ли способ убедиться, что функция округления всегда округляется? - PullRequest
1 голос
/ 08 июля 2019

Вопрос состоит из 2 частей. 1-й - у меня есть простая функция округления для столбца в моем запросе, но мне нужно, чтобы она округлялась во всех случаях. 2-й - этот расчет дает несколько записей для каждого расчета

NumOfBoxes: Round ([Заказы]. [Кол-во] / [PartsFinished]. [BoxQuantity], 0)

Что касается нескольких записей, это делает это - Пример: порядок qty равен 1000, поле qty равно 250, NumOfBoxes равно 4, но это возвращает 4 отдельные строки вместо одной. Если ответ на расчет 15, он возвращает 15 строк. Понятия не имею почему.

Ответы [ 3 ]

1 голос
/ 08 июля 2019

Используйте основной метод для округления:

NumOfBoxes: -Int(-[Orders].[Qty]/[PartsFinished].[BoxQuantity])

Вы также можете изучить мою статью на Экспертный обмен и сбор кода на GitHub:

Округление значений вверх, вниз, на 4/5 или до значащих цифр

VBA.Round

Если у вас нет учетной записи EE, перейдите по ссылке: Прочитать статью полностью

0 голосов
/ 08 июля 2019

Чтобы систематически округлять число, просто используйте округление (число + 0,5).Вы также можете использовать ceil (число).

0 голосов
/ 08 июля 2019

Это должно работать:

Int(([Orders].[Qty] + [PartsFinished].[BoxQuantity] - 1)/[PartsFinished].[BoxQuantity])

Int усекает, но вы фактически добавляете число меньше единицы, поэтому оно всегда будет округляться, если только число не является целым числом, в этом случае оно не округляется. Это, вероятно, поведение, которое вы ищете.

...