50分请教一个简单问题!
我在程序中使用了如下代码:
Option Explicit
Dim myws As Workspace
Dim mydb As Database
Dim myrs As Recordset
————————————————
Private Sub Form_Load()
Set myws = DBEngine.Workspaces(0)
Set mydb = myws.OpenDatabase(App.Path + "\gongwen.mdb")
Set myrs = mydb.OpenRecordset("select * from 电子公文表", dbOpenDynaset)
End Sub
这段程序在我的另一个工程中运行正常,而在现在的新工程中却提示:
实时错误‘13’
类型不匹配
请问为什么?我已经引用了
visual basic for application
visual basic runtime objects and procedures
visual basic objects and procedures
OEL automation
microsoft scriping runtime
microsoft activex data objects 2.0 library
microsoft Dao 3.51 obdect library
microsoft data binding collection
是否还需要引用其他?
问题点数:0、回复次数:14Top
1 楼kxiangwei(小孔)回复于 2003-12-02 17:55:17 得分 0
补充:
错误提示指向
Set myrs = mydb.OpenRecordset("select * from 电子公文表", dbOpenDynaset)Top
2 楼taosihai1only(无招胜有招)回复于 2003-12-02 18:02:31 得分 0
引用microsoft excel9.0Top
3 楼online(龙卷风V4.0--决战江湖(MS MVP-VB))回复于 2003-12-02 18:47:57 得分 0
你的引用够了
引用
microsoft Dao 3.6 obdect library
试试Top
4 楼cngxylyh(olo)回复于 2003-12-02 21:19:50 得分 0
把表名改成英文试试。Top
5 楼MrRedSnow(慕容红雪)回复于 2003-12-02 21:39:09 得分 0
不知道你先后两次运行是否在同一个系统里面,如果不在的话,查看一下你在能运行的那个工程里面所引用的ADO的版本,你上面说的ADO引用的是2.0的,不知道你原来能运行的那个版本是否引用了较高版本的ADO?Top
6 楼zhangfjj(小张)回复于 2003-12-02 21:49:17 得分 0
很久没有DAO了,找了找access帮助文件,这是在access中有关DAO编程的示例
Dim db as Database
Dim rs as DAO.Recordset
Set db = CurrentDB()
Set rs = db.OpenRecordset(“Employees”)
是不是你在声明时没有声明正确,
Dim myws As Workspace
Dim mydb As Database
Dim myrs As Recordset//改成DAO.recordset?
建议没有必要再用DAO了,直接学习ADOTop
7 楼DemonXHunter(恶魔猎手)回复于 2003-12-02 21:54:06 得分 0
我想
microsoft activex data objects 2.0 library
microsoft Dao 3.51 obdect library
这两个库里面都可能有RecordSet和Database得对象类,所以你定义的时候必须制定是那个库里面的对象
比如dim myrs as ADO.RecordSet或者dim myrs as Dao.RecordSet
这两种是不一样的,具体用哪个,就看
myws.OpenDatabase(App.Path + "\gongwen.mdb")返回的Database对象是哪个库里定义的了。Top
8 楼rainstormmaster(暴风雨 v2.0)回复于 2003-12-02 22:15:10 得分 0
检查你的dao的版本和mdb文件的版本,dao 3.51好象对access 2000的数据库不支持Top
9 楼rainstormmaster(暴风雨 v2.0)回复于 2003-12-02 22:17:24 得分 0
另外,DemonXHunter(恶魔猎手) 说的也很有道理,你应该这么定义:
Dim myws As DAO.Workspace
Dim mydb As DAO.Database
Dim myrs As DAO.Recordset
以避免冲突Top
10 楼ahlegend(爱之传奇)回复于 2003-12-02 23:08:02 得分 0
Dao版本低了。Top
11 楼csdngoodnight(居然比我还快,你真行!)回复于 2004-02-19 08:43:42 得分 0
http://expert.csdn.net/Expert/topic/2009/2009932.xml?temp=.625271
ado的Top
12 楼HereWeAre(僕は生きる道)回复于 2004-02-19 09:02:00 得分 0
学习......
Top
13 楼kimurakenshin(浪客)回复于 2004-02-19 09:09:16 得分 0
upTop
14 楼shangshu7(shangshu007)回复于 2004-02-19 09:26:17 得分 0
学习upTop




