Потолочная функция в Access
Искал это, не повезло.
Может ли кто-нибудь сказать мне, как создать функцию потолка в MS-доступе, которая ведет себя так же, как и в Excel?
- Экспорт свойств файла XSD в Excel
- Формат VBA Excel 2013 Изменение функций Дата
- блокировка в столбце vlookup
- Excel 2016, как создать параллельный анализ данных
- Excel VBA Workbook.ChangeFileAccess
- Создание Office Excel Doc с Linq для XML, XMLNS, XDeclaration, форматирование ячеек (работает)
- Пусть одна ячейка представляет диапазон ячеек
- Помогите мне оптимизировать код VBA Excel для копирования определенных столбцов каждой строки на листе на другой
- Текущие курсы валют для Excel
- Макрос Excel работает либо с 2007 OR 2010
- VBA переименовывает несколько рабочих листов на основе ячеек на одном листе Excel и выполняет взаимное переименование элементов excel на основе таблиц Excel
- Таблица Excel с автоматическим временем и датой
- «Поставщик не найден. Возможно, он неправильно установлен ». При работе с поставщиком Microsoft.ACE.OLEDB.12.0
Вы можете добавить ссылку на библиотеку объектов Microsoft Excel и использовать Excel.WorksheetFunction.Ceiling
Этот ответ использует VBA для доступа и выводится из http://www.tek-tips.com/faqs.cfm?fid=5031 :
Public Function Ceiling(ByVal X As Double, Optional ByVal Factor As Double = 1) As Double ' X is the value you want to round ' Factor is the optional multiple to which you want to round, defaulting to 1 Ceiling = (Int(X / Factor) - (X / Factor - Int(X / Factor) > 0)) * Factor End Function
Обратите внимание, что этот ответ математически корректен для отрицательного X. См. http://en.wikipedia.org/wiki/Floor_and_ceiling_functions#Spreadsheet_software для фона.
Поскольку функция Int () работает подобно Floor (), вы можете получить Ceiling следующим образом: -Int (-x)
Спасибо, мама, за ответ. Для дальнейшего использования здесь приведена функция VBA, которую я написал после импорта библиотеки объектов Microsoft Excel:
Public Function Ceiling(Value As Double, Significance As Double) As Double Ceiling = Excel.WorksheetFunction.Ceiling(Value, Significance) End Function
Затем в моем запросе я пытался рассчитать оплачиваемые часы с фактического времени работы, округляя до следующего квартала:
SELECT Ceiling(([WorkTimes]![EndTime]-[WorkTimes]![BeginTime])*24,0.25) AS BillableTime FROM WorkTimes;
Хотя этот вопрос специально задал для Access здесь, это ответ для VB.NET
Public Function Ceiling(ByVal value As Double, ByVal factor As Double) As Double Return Math.Ceiling(value / factor) * factor End Function
И ответ в C #
public double Ceiling(double value, double factor) { return Math.Ceiling(value / factor) * factor; }
Я размещаю его здесь, потому что мне нужна такая функция. Google отправил меня на этот вопрос, но я не смог найти ответ на .Net. Я, наконец, понял это для себя.