Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

引用的优先级也会造成点麻烦

时 间:2010-04-18 00:00:00
作 者:陈福祥   ID:6728  城市:江津
摘 要:经常遇到,在网上或某些书的示例代码中,出现对象成员找不到或对象类型错误,但别人的代码又是正确的这样的情况,错误原因就是引用优先级的问题的了。
正 文:

在VBA代码的“工具”菜单中的“引用”对话框中,引用的优先级别会有时给我们带来一些误会。
比如,在引用中,我们同时引用了“ADO” 和 “DAO”两种对象,如果“ADO”在“DAO”之前,如图,


那么,在代码窗口中声明如下代码
Dim rs As Recordset             '此时是ADO的Recordset对象
则这个被声明的 Recordset 对象就是ADO 的Recordset对象了
如果要声明 DAO 的 Recordset 对象,就需要很明显的声明了,如下:
Dim rs As DAO.Recordset

如果引用对话框中,“DAO”的优先级在“ADO”的优先级之前,如图,则刚好相反。


比如,在代码窗口中声明如下:
Dim rs As Recordset        '此时是DAO的 Recordset 对象
如果现在想声明ADO的Recordset对象,就需要这样声明了:
Dim rs As ADODB.Recordset

这个问题是,我在网上下的一此示例文件中,示例代码人在声明时,就这样把前面的对象库名称省掉,然后,我下下来用时,老是提示对象打不到成员或数据类型不符的错误。仔细一看,原来就是这个问题了。

我自己觉得,在声明时,还是不要省略那个对象的引用才是个好习惯。



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助