如何在MS Access中执行触发函数Arc Cos(Excel中的ACOS())



我有一个excel公式,需要放入MS Access查询中。不幸的是,Arc余弦函数似乎不是Access的曲目之一。所以在Excel中,公式的一部分是ACOS(很多东西)。所以我的问题是如何在MS Access中实现ACOS()Excelfunction?

注:如果有人想知道,或者出于某种奇怪的原因,这真的很重要,下面是Excel中的完整方程:

=(ACOS(SIN(弧度(AX2))*SIN

AX列和AZ列表示纬度,AY列和BA列表示经度,这个方程得到两点之间的距离(以英里为单位)。在任何人提起它之前,我就知道Access没有Radians功能。我已经用等效的操作替换了它。当然,我已经将列引用从Excel更改为适当的Access字段引用。

我找到了两种方法。第一个,也是我使用的一个,是为ACOS()函数使用等效的trig标识:

Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)

这给我带来了一个相当长的等式,但它很有效,运行起来似乎不需要很长时间。我读过(但没有测试)的另一个解决方案是创建一个

对Microsoft Excel对象库的引用(上的工具|引用VBA菜单栏)。这公开了Excel工作表函数你可以参考:

Excel.WorksheetFunction.ACOS(TheNumberGoesHere)

最新更新