设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3465|回复: 9
打印 上一主题 下一主题

请教:执行如下代码出现错误(有截图)

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2014-12-23 09:16:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Option Compare Database
Sub ShowUserRosterMultipleUsers()
    Dim cn As New ADODB.Connection
    Dim cn2 As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim i, j As Long

    cn.Provider = "Microsoft.Jet.OLEDB.4.0"
    cn.Open "Data Source=c:\Northwind.mdb"

    cn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;" _
             & "Data Source=c:\Northwind.mdb"

    'cn.Provider = "Microsoft.Jet.OLEDB.4.0"
    'cn.Open "Data Source=c:\Northwind.mdb"

    'cn2.Open "provider=Microsoft.Jet.OLEDB.4.0;" _
     '& "Data Source=c:\Northwind.mdb"

    Set rs = cn.OpenSchema(adSchemaProviderSpecific, _
                           , "{947bb102-5d43-11d1-bdbf-00c04fb92675}")

    Debug.Print rs.Fields(0).Name, "", rs.Fields(1).Name, "", rs.Fields(2).Name, "", rs.Fields(3).Name

    While Not rs.EOF
        Debug.Print rs.Fields(0), rs.Fields(1), rs.Fields(2), rs.Fields(3)
        rs.MoveNext
    Wend
End Sub





本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2014-12-23 10:11:12 | 只看该作者
本帖最后由 roych 于 2014-12-23 11:11 编辑

好吧,我承认,ADO的这个方法我很少用。但是,据我所知,应该是你漏写参数了:
  1.    Set rs = cn.OpenSchema(adSchemaProviderSpecific,, "{947bb102-5d43-11d1-bdbf-00c04fb92675}")
复制代码

当QueryType由数据库引擎指定时,应该指定GUID,根据参数顺序的话,GUID是最后一个参数。为了避免出错,也可以这样写:
  1. Set rs = cn.OpenSchema(schema:=adSchemaProviderSpecific, schemaID:="{947bb102-5d43-11d1-bdbf-00c04fb92675}")
复制代码

点击这里给我发消息

3#
发表于 2014-12-23 10:18:50 | 只看该作者
你看看是否在
cn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;" _
             & "Data Source=c:\Northwind.mdb"

在这句出错,如果这句出错,可能是数据库格式 或OLEDB驱动有问题

点击这里给我发消息

4#
 楼主| 发表于 2014-12-23 10:38:30 | 只看该作者
本帖最后由 dorenmi 于 2014-12-23 10:44 编辑
admin 发表于 2014-12-23 10:18
你看看是否在
cn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;" _
             & "Data Source=c:\Northwi ...

出错在 cn.Open "Data Source=c:\Northwind.mdb"这行了
另外:请问,格式出错什么概念?
我是将"罗斯文.accbd" 改名为“Northwind.mdb”后,拷贝到c盘下的

点击这里给我发消息

5#
 楼主| 发表于 2014-12-23 10:42:09 | 只看该作者
roych 发表于 2014-12-23 10:11
好吧,我承认,ADO的这个方法我很少用。但是,据我所知,应该是你漏写参数了:

当QueryType由数据库引擎 ...

试着改成你的语句,但执行还是在下面语句就出问题了
cn.Open "Data Source=c:\Northwind.mdb"
6#
发表于 2014-12-23 11:12:46 | 只看该作者
本帖最后由 roych 于 2014-12-23 11:13 编辑

怎么会呢?如果出错,你应该重装office了^_^

此外,如果没别的需要,建议还是打开一个数据连接要好一些,毕竟引用的都是同一个文件。

本帖子中包含更多资源

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

x

点击这里给我发消息

7#
 楼主| 发表于 2014-12-23 11:21:48 | 只看该作者
roych 发表于 2014-12-23 11:12
怎么会呢?如果出错,你应该重装office了^_^

此外,如果没别的需要,建议还是打开一个数据连接要好一些 ...

头痛啊   我在试试~~~
谢谢roy!
8#
发表于 2014-12-23 14:06:42 | 只看该作者
本帖最后由 风中漫步 于 2014-12-23 14:11 编辑

那个.acc用你的连接是打不开的.你得费点工夫去找点资料,这个格式好象要用NET级的,我多年不用ACC,说不到点上,给你些建议吧:看你的引用中有更高级的ADO吗;装个ACCESS RUNTIME 2007试试

点击这里给我发消息

9#
发表于 2014-12-24 12:42:55 | 只看该作者
dorenmi 发表于 2014-12-23 10:38
出错在 cn.Open "Data Source=c:\Northwind.mdb"这行了
另外:请问,格式出错什么概念?
我是将"罗斯文 ...

出错在 cn.Open "Data Source=c:\Northwind.mdb"这行了
另外:请问,格式出错什么概念?
我是将"罗斯文.accbd" 改名为“Northwind.mdb”后,拷贝到c盘下的

这样改名

点击这里给我发消息

10#
 楼主| 发表于 2014-12-25 10:02:38 | 只看该作者
风中漫步 发表于 2014-12-23 14:06
那个.acc用你的连接是打不开的.你得费点工夫去找点资料,这个格式好象要用NET级的,我多年不用ACC,说不到点上 ...

谢谢指点~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 04:50 , Processed in 0.127088 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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