Access中的吊顶function

已经find了这个,没有运气。

有人可以告诉我如何创build一个天花板function的MS访问行为与Excel中相同?

您可以将引用添加到Microsoft Excel对象库并使用Excel.WorksheetFunction.Ceiling

此答案使用VBA Access,并从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,此答案在math上是正确的。有关背景信息,请参阅http://en.wikipedia.org/wiki/Floor_and_ceiling_functions#Spreadsheet_software

由于Int()似乎像Floor()一样工作,所以可以像这样获取Ceiling:-Int(-x)

谢谢,边际答案。 为了将来的参考,这里是我在导入Microsoft Excel对象库后编写的VBA函数:

 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; 

虽然这个问题特别要求访问这里是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; } 

我在这里发布,因为我需要这样的function谷歌送我到这个问题,但我找不到.Net的答案。 我终于明白了我自己。