ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 梁国平

[原创] VBA ADO连接ACCESS 2010的设置

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2013-11-10 20:26 | 显示全部楼层
本帖已被收录到知识树中,索引项:ADO技术
如何通过 OLE DB 的 ADO 中打开受保护的 Access 数据库
文章编号: 191754 - 查看本文应用于的产品
机器翻译查看机器翻译免责声明
逐句中英文参照视图Microsoft 支持页面的机器翻译
展开全部 | 关闭全部
Collapse image概要
本机 OLE DB 提供程序的 Microsoft Access 数据库,其附带的 Microsoft 数据访问组件 (MDAC) 2.0 版或更高版本,可打开受保护的 Access 数据库。

如果打开受密码保护的数据库时,可以使用以下三种语法之一:

   Dim MyConn As New ADODB.Connection

   MyConn.Provider = "Microsoft.Jet.OLEDB.4.0"
   MyConn.Properties("Data Source") = "C:\...\JetPassword.MDB"
   MyConn.Properties("Jet OLEDB:Database Password") = "MyPwd"
   MyConn.Open
                               

-或者-

   Dim MyConn As New ADODB.Connection
   Dim strConn As String

   strConn = "Data Source=C:\...\JetPassword.MDB;" & _
             "Jet OLEDB:Database Password=MyPwd"
   MyConn.Provider = "Microsoft.Jet.OLEDB.4.0"
   MyConn.Open strConn

-或者-

   Dim MyConn As New ADODB.Connection
   Dim strConn As String

   strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
             "Data Source=C:\...\JetPassword.MDB;" & _
             "Jet OLEDB:Database Password=MyPwd"
   MyConn.Open strConn


如果要打开的数据库中使用 Jet 安全性,可以使用以下三种语法之一:

   Dim MyConn As New ADODB.Connection

   MyConn.Provider = "Microsoft.Jet.OLEDB.4.0"
   MyConn.Properties("Data Source") = "C:\...\JetSecurity.MDB"
   MyConn.Properties("Jet OLEDB:System database") = "C:\...\System.MDW"
   MyConn.Open UserID:="Admin", Password:="MyPwd"

-或者-

   Dim MyConn As New ADODB.Connection
   Dim strConn As String

   strConn = "Data Source=C:\...\JetSecurity.MDB;" & _
             "Jet OLEDB:System database=C:\...\System.MDW"
   MyConn.Provider = "Microsoft.Jet.OLEDB.4.0"
   MyConn.Open ConnectionString:=strConn, _
               UserID:="Admin", Password:="MyPwd"
                               

-或者-

   Dim MyConn As New ADODB.Connection
   Dim strConn As String

   strConn = "Provider=Microsoft.Jet.OLEDB.4.0;"
             "Data Source=C:\...\JetSecurity.MDB;" & _
             "Jet OLEDB:System database=C:\...\System.MDW"
   MyConn.Open ConnectionString:=strConn, _
               UserID:="Admin", Password:="MyPwd"

注意: Jet 3.51 OLEDB 提供程序可用来打开 Access 97 数据库只。Jet 4.0 OLEDB 提供程序可用来打开 Access 2000 或 Access 97 数据库。

如果在上面的示例中,您必须使用 Jet 3.51 提供程序,则将提供程序的名称更改为"Microsoft.Jet.OLEDB.3.51。"

我们建议您采取额外的步骤,将网络上的加密。例如,可以使用安全套接字层 (SSL),当您运行该应用程序在网络上。

Microsoft 数据访问组件 (MDAC) 2.6 版及更高版本不包含以下的 Jet 组件:
Collapse image属性
文章编号: 191754 - 最后修改: 2006年7月10日 - 修订: 3.1

TA的精华主题

TA的得分主题

发表于 2014-9-5 15:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我用Access2013,在Excel2013中通过ADO操作数据库,连接字符事Microsoft.ACE.OLEDB.12.0也遇到同样的问题.如果用默认的加密方法,在执行到Cnn.open时运行时错误(80040e4d),Not a valid password. 改用Legacy encryption method就可以正常操作了.

TA的精华主题

TA的得分主题

发表于 2014-9-15 13:38 | 显示全部楼层
如果数据库是Access2000/2002/2003格式的.MDB文件,Provider用Micorsoft.ACE.OLEDB12.0或Microsoft.Jet.OLEDB.4.0都可以操作.
如果数据库是Access2007/2010/2013格式的.accdb文件,Provider只能用前者.

TA的精华主题

TA的得分主题

发表于 2015-1-29 15:52 | 显示全部楼层
Cellfarmer 发表于 2014-9-15 13:38
如果数据库是Access2000/2002/2003格式的.MDB文件,Provider用Micorsoft.ACE.OLEDB12.0或Microsoft.Jet.OLED ...

老师您好!
连接access单机上可以连接


连接access共享文件 有密码的
请问要如何写连接代码

TA的精华主题

TA的得分主题

发表于 2015-1-30 09:38 | 显示全部楼层
Set cnn1 = New ADODB.Connection
cnn1.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbpath & "Database.accdb;" & "Jet OLEDB:Database Password=" & dbpwd
cnn1.ConnectionTimeout = 5
cnn1.Open
dbpath:文件所在路径
dbpwd:库文件的保护口令

TA的精华主题

TA的得分主题

发表于 2015-6-4 15:19 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-6-24 19:56 | 显示全部楼层
如果想加入判断密码出错提示要怎么做
If CNN Is Nothing Then MsgBox "密码错误": Exit Sub
OPEN.CNN
这个不行

TA的精华主题

TA的得分主题

发表于 2016-7-22 16:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
按楼主的操作 试了很多遍 依然不行

TA的精华主题

TA的得分主题

发表于 2017-1-26 11:36 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-1-14 22:27 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 05:39 , Processed in 0.030428 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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