设为首页收藏本站|繁體中文

Excel 技巧网

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

查看: 2454|回复: 8

[SQL in Excel] ADO不是亲娘养的吗?

[复制链接]
发表于 2012-9-21 09:22:52 | 显示全部楼层 |阅读模式

免费注册成为本站会员,享用更多功能,结识更多Office办公高手!

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

x
本帖最后由 YESS95 于 2012-9-21 09:26 编辑

ADO不是亲娘养的吗?

为啥ADO里面非得把HDR=NO再设置IMEX后才当内容可以显示字段名,设置成YES就是如图了
但是,直接OLEDB里面引用现有连接为HDR=YES却可以正常显示。
求大仙指点,小弟感激不尽。

如图:
ADO.jpg

ado.rar

49 KB, 下载次数: 2

发表于 2012-9-21 09:53:30 | 显示全部楼层
本帖最后由 我是小马儿 于 2012-9-21 09:54 编辑
  1. Sub test_ado()
  2. Dim ado As New ADODB.Connection
  3. Dim rs As New ADODB.Recordset
  4. Dim strcon As String
  5. Dim strsql As String
  6. 'Set ado = CreateObject("ADODB.Connection")
  7. strcon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
  8.     ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=YES;IMEX=1"";"
  9. strsql = "select * from [Sheet3$]"
  10. ado.Open strcon
  11. rs.Open strsql, strcon, adOpenKeyset
  12. For i = 1 To rs.Fields.Count
  13.     Cells(1, i + 3) = rs.Fields(i - 1).Name
  14. Next
  15. rsCount = rs.Fields.Count
  16. Sheet2.Range("d2").CopyFromRecordset ado.Execute(strsql)
  17. ado.Close
  18. End Sub
复制代码
试试这个

QQ五笔截图未命名.jpg

评分

参与人数 1魅力值 +5 收起 理由
开心二点 + 5 可以了,谢谢小马哥

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2012-9-21 09:25:21 | 显示全部楼层
这标题起的
回复 支持 反对

使用道具 举报

发表于 2012-9-21 09:35:17 | 显示全部楼层
本帖最后由 我是小马儿 于 2012-9-21 09:45 编辑
  1. " Provider=Microsoft.ACE.OLEDB.12.0;" & _
  2.         "Data source = " & ThisWorkbook.FullName & _
  3.         ";Jet OLEDB:Engine Type=37"
复制代码
rs.Open SQL, cnn, adOpenKeyset
rs.Fields(i).Name
字段名

关键不是hdr默认用yes就可以了,关键是下面的赋值语句。字段名的赋值要专门写
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-9-21 09:47:06 | 显示全部楼层

小马哥,还是不能正常显示字段名呢,如图
另外engine type这个你有列表明细嘛?截个图给我收藏
ADO-小马哥.jpg
回复 支持 反对

使用道具 举报

发表于 2012-9-21 10:06:48 | 显示全部楼层
YESS95 发表于 2012-9-21 09:47
小马哥,还是不能正常显示字段名呢,如图
另外engine type这个你有列表明细嘛?截个图给我收藏

我有一个完整的olddb provider for microseoft jet 属性说明表。不过是纸质的,我找一找电子版的。
回复 支持 反对

使用道具 举报

发表于 2012-9-21 10:10:22 | 显示全部楼层
http://www.yesky.com/imagesnew/software/ado/index.html
Microsoft ADO 程序员参考

评分

参与人数 1魅力值 +5 收起 理由
YESS95 + 5 谢谢马哥,果断收藏

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2012-9-21 13:19:22 | 显示全部楼层
本帖最后由 朽木 于 2012-9-21 13:19 编辑

ADO里面设置HDR=NO的话,字段值假如全是数值,而标题是文本的话,内容貌似是无法输出来的

点评

IMEX = 1 强制全文本就行。  发表于 2012-10-6 12:18
回复 支持 反对

使用道具 举报

发表于 2018-3-13 16:43:09 | 显示全部楼层
哦,哦,学习了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Excel技巧网的会员探讨问题仅代表其个人意见,与网站的立场无关。任何违反国家和地方相关法律法规的言论,本站有义务协助政府相关部门追究发言者的责任!
本站中非注明转载文章与案例的版权为作者与Excel技巧网共有。若非原文作者,本站之外任何单位或个人未经允许,不得将其用于商业用途。
若非原文作者,任何形式的非商业性转载必须获得Excel技巧网或作者允许,并注明作者和出处。
会员发表的帖子如涉及版权纠纷,须自行负责。详情请参考注册时的网站服务条款。
本站特聘法律顾问:沈学律师

Archiver|手机版|Excel技巧网 ( 闽ICP备08107682号-2 ) | 闽公网安备 35020302032608号  

GMT+8, 2018-12-17 18:38

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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