Как убрать округление в access
Перейти к содержимому

Как убрать округление в access

  • автор:

Функция Round

Возвращает число, округленное до указанного числа десятичных разрядов.

Round( expression [, numdecimalplaces ] )

Аргументы функции Round :

выражение

Обязательный аргумент. Числовое выражение с округлением.

numdecimalplaces

Необязательный. Число, указывающее, сколько мест справа от десятичной запятой включено в округление. Если этот параметр опущен, функция округляется до ближайшего целого числа.

Примечание: Эта функция VBA возвращает то, что обычно называется округлением банкиров. Поэтому будьте осторожны, прежде чем использовать эту функцию. Чтобы получить более предсказуемые результаты, используйте функции «Циклический лист» в Excel VBA.

Примеры запросов

SELECT ProductSales.ProductID, Round(FinalPrice) AS Expr1 FROM ProductSales;

Возвращает идентификатор продукта вместе с «FinalPrice», округленным до ближайшего числа (без десятичного числа).

SELECT ProductSales.ProductID, Round(FinalPrice,1) AS RoundedPrice FROM ProductSales;

Возвращает идентификатор продукта вместе с «FinalPrice», округленным до ближайшего числа с 1 десятичным и отображаемым в столбце RounderPrice.

Как убрать округление в access


SerKom ( 2004-01-26 11:35 ) [0]

Уважаемые Мастера, подскажитете пожалуйста какую функцию можно использовать непосредственно в запросе MS Access чтобы округлить число до сотых в большую сторону (0,111 = 0,12)? Функция ROUND(Имя_поля,2) делает не то, а ROUNDUP или CEILING MS Access не признает.


sniknik ( 2004-01-26 11:46 ) [1]

не так уж и сложно добавить 0,05 в выражение, и округлять по нему.


SerKom ( 2004-01-26 12:08 ) [2]

Sniknik, ты наверное имел ввиду 0.005.
Но для выражения без тысячных не подойдет Round(0.11+0.005)=0.12, а надо 0.11


sniknik ( 2004-01-26 12:21 ) [3]

нет имел ввиду именно то что написал 0,05, ведь тебе же надо до = «0,12» второго знака up сделать.


sniknik ( 2004-01-26 12:23 ) [4]

хотя да спутал. ;о((

не подойдет Round(0.11+0.005)=0.12, а надо 0.11
а 0.0049?


SerKom ( 2004-01-26 12:45 ) [5]

Тоже не подойдет — для выражений с пятым знаком после запятой меншим 5
0.11001+0.0049=0.11, а надо 0.12


SerKom ( 2004-01-26 12:47 ) [6]

Round(0.11001+0.0049)=0.11, а надо 0.12

Десятичное значение в столбце округляется вверх или вниз до целого значения в Access

При вводе десятичного значения в столбце в Microsoft Access десятичное значение округляется вверх или вниз до целочисленного значения.

Эта проблема возникает при выполнении всех следующих условий.

  • Таблица создается в режиме таблицы.
  • Первое значение, которое вы вводите в первой строке столбца, является целочисленным значением.

Причина

Если первое значение, которое вы вводите в первой строке столбца, является целочисленным значением, Access автоматически задает тип данных столбца «Число». Кроме того, свойству «Размер поля» столбца задано значение Long Integer. Таким образом, десятичное значение, которое вы вводите в столбец, округляется вверх или вниз до целочисленного значения.

Обходной путь

Чтобы обойти эту проблему, вручную задайте для свойства «Размер поля» столбца значение Double или Decimal.

  1. Перейдите на вкладку «Таблица «. В группе «Представления » щелкните стрелку в разделе «Вид» и выберите пункт «Конструктор». Примечание Если таблица еще не сохранена, вам будет предложено сохранить таблицу с указанным именем таблицы.
  2. Найдите столбец, который требуется изменить, а затем задайте для свойства «Размер поля» столбца значение Double или Decimal. Примечание Если для свойства Field Size столбца задано значение Decimal, необходимо также задать свойство Scale столбца. При установке свойства Scale указывается максимальное число цифр, которые могут храниться справа от десятичного разделителя.
  3. Сохраните таблицу.

Состояние

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе «Применимо к».

Дополнительная информация

Если первое значение, которое вы вводите в первой строке столбца, является десятичным значением, Access автоматически задает для свойства Field Size этого столбца значение Double. Таким образом, вы не столкнетесь с проблемой, описанной в этой статье.

Обратная связь

Были ли сведения на этой странице полезными?

Как убрать округление в access

1. При вводе в поле «Оценка» (процентного формата числового типа) любого
значения в дипазоне 50..100 (например, 73) происходит округление до 100%; в
диапазоне 0..50 — округление до 0%. Помогает замена типа поля на «Денежный» с
оставлением формата «Процентный», в этом случае округления нет. Как убрать
округление без изменения типа поля?

2. При создании запроса на выборку (среди прочих) того же поля «Оценка»
(имеющего денежный тип и процентный формат) с условием отбора от 75% до 100%
не работает ни одно из равнозначащих выражений «Between 75 And 100» и «>=75
And другого синтаксиса («>=»75%» And <="100%"") или (">=’75%’ And <='100%') или
те же самые варианты, что в скобках, но без символа процентов, ничего не
меняется. При этом выражение «>=75 Or использовании оператора «AND» в поле с процентным форматом. Как её решить
(опять же без изменения типа поля на «Текстовый»)?

Делаю семестровую, очень нужна помощь. В мануале по Access ответов не нашёл.

Alex Dybenko
2007-11-06 10:27:55 UTC

видимо тип поля — целый, и т.к. 50% — это 0.5 — то и происходит округление
до 1. Соответственно для условий нудо писать:

Between .75 And 1

С уважением,
___________
Алексей Дыбенко (MVP)
http://alexatpoint.blogspot.com
http://www.PointLtd.com

Post by Mavr
1. При вводе в поле «Оценка» (процентного формата числового типа) любого
значения в дипазоне 50..100 (например, 73) происходит округление до 100%;
в
диапазоне 0..50 — округление до 0%. Помогает замена типа поля на
«Денежный» с
оставлением формата «Процентный», в этом случае округления нет. Как убрать
округление без изменения типа поля?
2. При создании запроса на выборку (среди прочих) того же поля «Оценка»
(имеющего денежный тип и процентный формат) с условием отбора от 75% до
100%
не работает ни одно из равнозначащих выражений «Between 75 And 100» и
«>=75
And другого синтаксиса («>=»75%» And <="100%"") или (">=’75%’ And <='100%')
или
те же самые варианты, что в скобках, но без символа процентов, ничего не
меняется. При этом выражение «>=75 Or использовании оператора «AND» в поле с процентным форматом. Как её решить
(опять же без изменения типа поля на «Текстовый»)?
Делаю семестровую, очень нужна помощь. В мануале по Access ответов не
нашёл.

2007-11-08 16:47:03 UTC

Вы не поняли. У меня тип поля — денежный, а формат поля — процентный (т.е.
то число, которое я ввожу в это поле, автоматически дополняется символом
процентов). Целым тип поля быть не может, целым может быть его размер. Но в
денежном типе нет размера поля, есть лишь его (поля) формат. Соответственно,
Ваша версия не подходит.

Добавлено: оказвается, можно сделать тип поля «Числовой», размер —
«Одинарный (или двойной) с плавающей точкой», а формат — «Процентный». Но и в
этом случае запрос не работает.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *