VB如何调用access自定义函数

来源:百度知道 编辑:UC知道 时间:2024/06/02 17:10:05
我在Access的模块中定义了一个函数如:
public function abc(st as string) as string
st=st & "学号"
abc=st
end function
在Access查询中定义了一个"查询1"内容如下:
select abc(ID) as ID from 学生表

然后我用ado连接Access,执行以下操作:
conn.execute "查询1"
但提示abc()函数未定义,怎么回事,有没有别的解决办法?
注:我是想提高运行速度才这样定义的,函数体没有上边那么简单,在VB里写这样函数并且循环记录集太慢了,听网上说要引用一个Access的工程,小弟一时没找到,请赐教........
给分不是问题,解决后再追加100分
上面的函数体和查询只是一个范例,实际的要复杂的多,
其实我是想对一个字段进行分析,分析后的数据通过字典表找到相对应的字典码然后填上,这个分析过程很复杂.

2008-10-15
首先:
至: {♀圣战ヽヾゝ
我在程序里用到 << conn.execute "查询1" >> ,这个"查询1"是Access里建立的一个查询对象,而不是VB里的一个没有定义的变量,你可以试试在Access里随便建立一个查询,然后用conn.execute执行它都可以
至: hejian511
这个abc()函数是定义在Access数据库里的模块(语言是VBA),而不是你所想的在VB里模块里写这么一个函数然后去循环记录集,这种方法我试过,很慢,所以我才在Access里建立,

其实Access里的查询,就相当于SQLServer里的存储过程,我只是用VB去调用它,因为SQLServer是运行的一个单独的数据库系统,所以它接受这种存储过程里的函数,但是mdb文件脱离Access后只是一个文件,用VB调用它还要借用Jet OLE DB 4.0 驱动程序,所以它本身并不提供任何服务,Je

在VB的"类模块" 里加入那个 定义函数 就行了
然后就可以在ADO的连接字符串中使用了

在听~高手讲解

dim 查询1 as string
查询1="select abc(ID) as ID from 学生表" ??????
显示函数abc(ID)未定议?????

查询1是个字符串
改成
查询1="select " & abc(ID) & " as ID from 学生表"

这样!