dha*_*0us 2 sql ms-access ms-access-2007 ms-jet-ace
我使用MS Access在SQL View中设计了一个查询:
select floor(num1) from t1;
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到"未定义的功能层".
我得到类似的错误了Ceil,Mod,Power,Sign,Sqrt,Trunc,和initcap功能.
Access数据库引擎的SQL语法是否具有相同的功能?
Dav*_*ton 12
用Int()替换Floor().我通过搜索Access帮助文件来学习这一点,在这种情况下,在查询设计器中点击F1,然后搜索"函数".这让我得到了一个比较VBA和T-SQL函数的帮助主题.
您可能应该查看Access数据库引擎SQL Reference.我找不到通过Jet/ACE和Access表达式服务支持的函数的良好在线参考.由于某些未知原因,Access帮助没有包含Jet/ACE表达式,因为Jet 3.0和这个老化的资源最终在一两年前从MSDN中删除了:(
请记住,在Access 2007中运行SQL时,在Access外部使用的Jet/ACE表达式服务支持使用Access表达式服务可能实现的更小的函数子集.一般来说,VBA5函数(与方法不同)涉及Access用户界面之外的简单数据类型(与数组或对象不同); 有关函数名称的近似列表,请参阅此MSDN文章中的"使用Jet 4.0 Service Pack 3及更高版本的沙箱模式操作"部分.
此外,VBE帮助中的函数引用应该是一个起点.
帮助文件并不完美,但一点点搜索应该能满足您的需求.