侠客们救命:在VB如何使用Access库模块中的自定义函数??????????

任怀林 2002-01-31 03:46:04




我在Access库中定义了一个过程 StringEncrypt,在VB中我用ADO 连接它.数据源是这样写的
.Source = "Select StringEncrypt(xm,'" & StrKeyWord & _
"') as 姓名 From TChengJi "
但返回了一个错误说StringEncrypt函数没定义.而在Access的查询中却可以使用此过程,怎样才能在VB中使用这个过程呢?

...全文
205 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
acptdta 2002-02-05
  • 打赏
  • 举报
回复
感谢您使用微软产品。

当您使用 ADO 连接 Access 数据库时,实际上最后是通过 Jet 引擎来操作 Access database 中的数据。

Jet 引擎能读,写,操作 table/query/stored procedure 中的数据, 但是不能操作其他Access 数据库中的部件,如 Form/Report/Macro/Code Modules. 当 Jet引擎在Access 之外运行时(如通过ODBC driver or OLEDB provider),它会调用 vbar332.dll 以使用VBA内建的函数, 但是 Jet 引擎不会知道任何Access database 的 code module 中的任何User defined Functions. 这是 by design的。

相关信息,您可以参考以下文章:

ID: Q166113 PRB: User-defined Modules Can't Be Used Through ODBC or DAO
<http://support.microsoft.com/default.aspx?scid=kb;EN-US;qQ166113>

一个可能的解决方案是:通过 Automation 让 Access 运行该查询并将结果放入临时表中。然后通过VB查询临时表。

- 微软全球技术中心 桌面产品技术支持

立即参加微软认证的“最有价值专家”评选,赢取价值万元以上的丰富奖品!详情参见(http://www.csdn.net/expert/Topic/456/456919.shtm)

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
任怀林 2002-01-31
  • 打赏
  • 举报
回复
高手哪儿去了????/
任怀林 2002-01-31
  • 打赏
  • 举报
回复
难道没人会吗?

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧