我设计成使用在SQL视图查询的MS Access:

select floor(num1) from t1;

当我运行它,我得到“未定义功能地板。”

我得到类似的错误为CeilModPowerSignSqrtTrunc,和initcap功能。

请问Access数据库引擎的SQL语法同等功能?

有帮助吗?

解决方案

替换诠释地板()()。我通过搜索查看帮助文件,在这种情况下,创下F1而在查询设计器,并搜索得知这个“功能”。那带我去帮助主题比较VBA和T-SQL的功能。

您也许应该有一个看看 Access数据库引擎SQL参考。我无法找到那些通过Jet / ACE和访问表达服务支持的功能一个良好的网上参考。对于一些未知的原因,Access帮助还没有包括在内,因为喷气3.0喷气/ ACE表情和这个年龄的资源终于从MSDN取出一两年以前:(

请,对于访问外部使用喷气/ ACE表达服务支持这是可能的运行时,你的SQL内部访问2007广义地说,VBA5功能(如从不同的使用Access表达式服务功能小得多的子集涉及简单的数据类型(如不同,比如说,从数组或对象)被访问的用户界面的外部支持的方法);对函数名的近似列表,请参阅“与Jet 4.0 Service Pack 3的使用沙盒模式操作和后来者的此MSDN文章

另外,在VBE帮助功能参考应该是一个起点。

在帮助文件是不完美的,但有点搜索应该得到你所需要的。

其他提示

Public Function Floor(ByVal x As Double) As Double
'Be Because VBA does not have a Floor function.
'Works for positive numbers
'Turns 3.9 -> 3
'Note: Round(3.9) = 4

    Dim s As String, dPos As Integer
    s = CStr(x)
    dPos = InStr(s, ".")
    Floor = CLng(Left(s, dPos - 1))
End Function

如前所述,楼层是不是在访问可用,则应该使用int()作为替代。如果你坚持要用楼,你总是可以创建你的mdb文件类似于一个VBA模块功能如下但这可能是矫枉过正。

Public Function floor(dblIn As Double, dec As Integer) As Double
  decPosition = InStr(Str(dblIn), ".")
  x = Left(dblIn, decPosition + dec - 1)
  floor = x
End Function

类似于你如上所述可能会产生额外的函数来创建该组的功能性的其它数学运算。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top