在vs2005中用sql语句访问access数据库出现replace函数未定义错误,后来查询得知,在不能用replace访问access。

问题:

  1、为什么以前运行正常的Access数据库,搬到另一台电脑上老出现XXXX函数未定义错误?

2、为什么我在Access中调试通过的sql语句,在VB/ASP/JSP/PHP/VB.NET/SQL SERVER中调用却老是出现XXX函数未定义错误?

3、在ACCESS中的模块中自定义了一个getV函数,在ACCESS查询中执行SQL语句
select getV(5) from T 
这条语句能执行,并且能得到数据,
但是在Adodc1中
Adodc1.RecordSource ="select getV(5) from T "
Adodc1.Refresh
结果出错了,显示的错误为“getV未定义函数”。

回答:

  1、转到VBE界面,菜单 工具 -> 引用 中看一下有没有丢失的引用,如果有,重新引用一下即可。特别是出错信息提示一些 VBA 的基本函数未定义,比如 Left Date Right 等函数未定义时,90%的情况丢失引用丢失

2、Access中执行 jet sql 语句时使用的很多函数是Access自带的函数,只允许使用在Access界面下,一旦你使用了其他软件做界面,那么很多本来在 access+jet sql环境中能够运行的函数将成为错误根源。

3、Access中编写的自定义函数必须由ACCESS环境支持,在其他环境中根本不能使用。

特别注意:许多在VB代码中可以运行的函数并不一定能嵌入到jet sql语句中

以下列出 jet sql 中的资料供参考:

ODBC 标量函数
Microsoft® Jet SQL 支持使用由 ODBC 为标量函数定义的语法。例如这一查询:

SELECT DAILYCLOSE, DAILYCHANGE FROM DAILYQUOTE
WHERE {fn ABS(DAILYCHANGE)} > 5

凡是一种股票价格变化的绝对值大于 5 的列会返回。

ODBC 定义的标量函数的子集受支持。下表列出了受支持的函数。

关于使函数包含于 SQL 语句的变元的描述和逸出语法的详尽解释,请看 ODBC文献。

字符串函数
ASCII LENGTH RTRIM 
CHAR LOCATE SPACE 
CONCAT LTRIM SUBSTRING 
LCASE RIGHT  UCASE 
LEFT

数字函数
ABS FLOOR SIN 
ATAN LOG SQRT 
CEILING POWER TAN 
COS RAND MOD 
EXP SIGN

时间和日期函数
CURDATE DAYOFYEAR MONTH 
CURTIME YEAR WEEK 
NOW HOUR QUARTER 
DAYOFMONTH MINUTE MONTHNAME 
DAYOFWEEK SECOND DAYNAME

数据类型变换
CONVERT 字符串文字能被转换成下列数据类型:SQL_FLOAT, SQL_DOUBLE, SQL_NUMERIC, SQL_INTEGER, SQL_REAL, SQL_SMALLINT, SQL_VARCHAR和 SQL_DATETIME.

请参考:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odappepr_3.asp

最终的解决方案是当你在 VB / C# 等语言中取出数据赋值到变量后再对变量进行函数操作

ACCESS 里面的坑的更多相关文章

  1. 打开office2010里面的access,总是提示要配置Office single image

    刚安装了,office2010,打开里面的access时,总是提示要配置Office single image,但打开word和excel没问题,很是不舒服 在网上找到N种方法,试下来还是不行. 后来 ...

  2. 提取数据库字段里面的值,并改变+图片懒加载,jquery延迟加载

    要求:手机端打开某个页面的详细信息,因为网速或者别的原因,响应太慢,因为图片大的原因,希望先进来,图片在网页运行的情况再慢慢加载(jquer延迟加载) http://www.w3cways.com/1 ...

  3. 用代码调用Storyboard里面的viewController

    今天在帮助群里的一个朋友弄pop事件,在他那边,当前的viewcontroller,不能pop出去. 初步估计,他的ViewController层级多,他自己没有理清. 因为pushViewContr ...

  4. m_Orchestrate learning system---二十四、thinkphp里面的ajax如何使用

    m_Orchestrate learning system---二十四.thinkphp里面的ajax如何使用 一.总结 一句话总结:其实ajax非常简单:前台要做的事情就是发送ajax请求过来,后台 ...

  5. jmeter压测学习3-提取json数据里面的token参数关联

    前言 现在很多接口的登录是返回一个json数据,token值在返回的json里面,在jmeter里面也可以直接提取json里面的值. 上一个接口返回的token作为下个接口的入参. 案例场景 我现在有 ...

  6. Activity往另外一个Activity传值,Fragment获取另外一个Activity里面的值。

    在oneActivity中实现跳转到MainActivity //intent 用来跳转另外一个MainActivity,bundle传值到MainActivity         Intent Ma ...

  7. Java基本概念(2)J2EE里面的2是什么意思

    J2EE里面的2是什么意思 J2SE,J2SE,J2ME中2的含义要追溯要1998年.1998年Java 1.2版本发布,1999年发布Java 1.2的标准版,企业版,微型版三个版本,为了区分这三个 ...

  8. 在wex5平台grid里面的gridselect下拉不能显示汉字问题

    当grid里面有gridSelect组件的时候,gridSelect里面的bind-ref是对应的数据库存入字段(int类型),bind-labelRef是对应的计算字段(视图里面的),而option ...

  9. dede文章调用时过滤调 body里面的style属性和值

    dede 发布文章的时候会在里面的标签中添加一些style 属性,现在改网站想去掉这些属性和里面的值,因为文章太多所以就用下面的方法 \include\arc.listview.class.php 在 ...

随机推荐

  1. 常用的IO流

    常用的IO流 •根据处理数据类型的不同分为:字节流和字符流 •根据数据流向不同分为:输入流和输出流 字节流:字节流以字节(8bit)为单位,能处理所有类型的数据(如图片.avi等). 字节输入流:In ...

  2. linux之SQL语句简明教程---Alias

    接下来,我们讨论 alias (别名) 在 SQL 上的用处.最常用到的别名有两种: 栏位别名及表格别名. 简单地来说,栏位别名的目的是为了让 SQL 产生的结果易读.在之前的例子中,每当我们有营业额 ...

  3. java/struts/Servlet文件下载与ftp文件上传下载

    1.前端代码 使用超链接到Struts的Action或Servlet <a target="_blank" href="ftpFileAction!download ...

  4. Dictionary到List转换中的性能问题 转

    本文来自:http://www.cnblogs.com/353373440qq/p/3488367.html 在应用泛型中,我们经常使用Dictionary,经常会用到Dictionary到List的 ...

  5. uva 11524 - InCircle (二分法)

    题意:三角形ABC的内切圆把它的三边分别划分成 m1:n1,m2:n2 和 m3:n3 的比例.另外已知内切圆的半径 r ,求三角形ABC 的面积. #include<iostream> ...

  6. Linux 程序启停脚本

    start.sh #!/bin/sh java -jar ./program.jar & echo $! > /var/run/program.pid stop.sh #!/bin/sh ...

  7. 图像、帧、片、NALU概念理解

    图像.帧.片.NALU 是学习 H.264 的人常常感到困惑的一些概念. H.264 是一次概念的革新,它打破常规,完全没有 I 帧.P帧.B 帧的概念,也没有 IDR 帧的概念.对于 H.264 中 ...

  8. 每个人应该知道的NVelocity用法

    NVelocity是一个基于.NET的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由.NET代码定义的对象.从而使得界面设 ...

  9. 【IOS学习基础】内存管理

    1.内存几大区域 1> 栈区:局部变量(基本数据类型.指针变量). 2> 堆区:程序运行的过程中动态分配的存储空间(创建的对象). 3> BSS段:没有初始化的全局变量和静态变量. ...

  10. size对齐

    写了很多程序,在很多地方都要用到内存长度对齐,比如文件的大小,pe文件内存的对齐等等. 下面记下两种简单的方法,觉得没啥大用处. #include <IOSTREAM> #include ...