设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3699|回复: 6
打印 上一主题 下一主题

求助,关于OFFICE2010中DAO的引用

[复制链接]
跳转到指定楼层
1#
发表于 2010-9-25 10:03:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新建一个2010版的ACCESS ,会自动引用这几个,如下图:





好象ACCESS2010中的Microsoft Office 14.0 Access database Engine Object Library 的这个引用已经DAO,如果继续引用DAO3.6,如出现,如下图错误:


如果不引用DAO3.6 ,如下代码运行会出错,代码如下:
Private Sub Command3_Click()
On Error GoTo Err_Command3_Click
   Dim dbs As Database
   Dim tdf As TableDef
   Dim strNewName As String
   Dim strName As String
   Set dbs = CurrentDb
   For Each tdf In dbs.TableDefs
        strName = tdf.Name
        If UCase(Left(strName, 3)) = "DBO" Then
        strNewName = Right(strName, Len(strName) - 4)
        tdf.Name = strNewName
        tdf.RefreshLink
'        Me.lbTable.Caption = tdf.Name
'        DoEvents
        End If
    Next
    MsgBox "去除DBO成功", 0 + 64
Exit_Command3_Click:
    Exit Sub
Err_Command3_Click:
    MsgBox Err.Description
    Resume Exit_Command3_Click
   
End Sub

出错提示如下图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2010-9-25 10:49:40 | 只看该作者
这个还真没有试过, 不过,应该2010不会默认带有DAO的引用的.
你这样试试,新建一个数据库,什么都不加,再引用dao,看看是否可以
如果不可以,在代码中加入dim db as dao.database,看看是否可以,如果可以,则默认有了DAO引用了

点击这里给我发消息

3#
发表于 2010-9-25 10:54:38 | 只看该作者
在2010,
Microsoft Office 14.0 Access Database Engine object 代替了DAO 3.6
正常情况下,DAO的代码可继续使用.
但建议改为ADO会更好
4#
 楼主| 发表于 2010-9-25 10:57:46 | 只看该作者
改成dim db as dao.database,确实可以了,看样子是默认有DAO了,谢放宇虹

点击这里给我发消息

5#
发表于 2010-9-25 11:19:40 | 只看该作者
因为你的ADO引用在DAO之前,而ADO也有Database对象, 所以才会提示了错,其它对象也要显式定义才行
6#
发表于 2010-9-25 11:53:41 | 只看该作者
有趣的是在 2010 中,  currentproject.connection 是 ADO 的, 而 form 的 recordset 是 DAO 的.
7#
 楼主| 发表于 2010-9-27 16:05:59 | 只看该作者
确实,如此,谢谢楼上二位
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-20 17:11 , Processed in 0.095977 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表