打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
数据库连接问题1 转
ADOdb 支持的数据库包括 MySQL, PostgreSQL,Interbase,Firebird,Informix,Oracle,MS SQL 7,Foxpro,Access,ADO,Sybase,FrontBase,DB2 和 generic ODBC。
excel VBA中的数据库基本操作
先提一下 ,我们学习SQL+ADO访问数据库有什么用处?
   '1 可以在不打开EXCEL文件的情况下,从文件中提取数据.
   '2 可以从建立连接的专业软件数据库中提取数据.如财务软件等.

 
怎么使用ADO的两种方式:
 
 '引用法
      '工具--引用---Microsoft Activex..D...O"
      '引用后再声明: Dim conn As New Connection  声明链接对象
                   ' Dim rst As New Recordset    声明记录集对象
   '创建法
      '使用CreateObject函数创建
      'Set conn = CreateObject("adodb.connection") '创建ado对象
      'Set rst = CreateObject("ADODB.recordset") '创建记录集

一、Connection对象 (列子以excel文件为数据库)
1 建立和数据库的连接
'.Open
' Dim conn As New Connection
' conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.Path & "/Database/exceldata.xls"
(  'Conn.Open:打开数据库的连接
'provider=microsoft.jet.oledb.4.0 数据库引擎版本
'extended properties=excel 8.0 连接的是Excel8.0版本(excel2000以后的版本),Excel不是标准的数据库格式,所以要设置扩展属性
'data source=" & ThisWorkbook.Path & "/数据库.xls" 数据库路径)

************以下是连接其他数据库或文件的字符串表达式*********************************
'1 Mysql数据库
'strDriver = "Provider=SQLOLEDB;DataSource=" & Path & ";Initial Catolog=" & strDataName
'2 TXT文件
'strDriver = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='text;IMEX=1;HDR=NO;FMT=Delimited;';Data Source=" & Path
'3 MSSQL数据库
'strDriver = "Provider=MSDASQL;Driver={SQL Server};Server=" & Path & ";Database=" & strDataName
'4 Oracle数据库
'strDriver= "Provider=madaora;Data Source=MyOracleDB; User Id=UserID; Password=Password"
5 Excel 文件
’conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.Path & "/Database/exceldata.xls"
关于OleDB连接Excel的Extended Properties(扩展属性)HDR=YES; IMEX=2个人理解心得
对OleDB连接Excel的Extended Properties(扩展属性)HDR=YES; IMEX=2有了深刻的认识!

参数HDR的值:

HDR=Yes,这代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES
参数Excel 8.0 对于Excel 97以上到2003版本都用Excel 8.0,2007或2010的都用Extended Properties=Excel 12.0
IMEX ( IMport EXport mode )设置
  IMEX 有三种模式:
  0 is Export mode
  1 is Import mode
  2 is Linked mode (full update capabilities)
  我这里特别要说明的就是 IMEX 参数了,因为不同的模式代表著不同的读写行为:
  当 IMEX=0 时为“汇出模式”,这个模式开启的 Excel 档案只能用来做“写入”用途。
  当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 档案只能用来做“读取”用途。
  当 IMEX=2 时为“连結模式”,这个模式开启的 Excel 档案可同时支援“读取”与“写入”用途。
意义如下:
0 ---输出模式;
1---输入模式;
2----链接模式(完全更新能力)
Jet 引擎 ACE 引擎
共同点:都是做为连接Excel对象的接口引擎
不同点:
对于不同的Excel版本,有两种接口可供选择:Microsoft.Jet.OLEDB.4.0(以下简称 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎)。
Jet 引擎,可以访问 Office 97-2003,但不能访问 Office 2007。
ACE 引擎是随 Office 2007 一起发布的数据库连接组件,既可以访问 Office 2007,也可以访问 Office 97-2003。
另外:Microsoft.ACE.OLEDB.12.0 可以访问正在打开的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 是不可以的。
所以,在使用不同版本的office时,要注意使用合适的引擎。


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用OpenRowSet操作Excel
Microsoft.Ace.OleDb.12.0 操作excel
ADO访问Excel数据
C#读写EXCEL(OLEDB方式)
因为 OLE DB 访问接口 'Microsoft.Jet.OLEDB.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询
分享] 在EXCEL中使用SQL语句查询集锦-持续更新中,敬请关注
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服