Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3040|回复: 2

关于微软ADO数据连接的问题

[复制链接]
发表于 2012-3-20 11:38 | 显示全部楼层 |阅读模式
office97 office2000 office2003 office2007 office2010这四种版本 恐怕是经典版本了, 而数据连接组件是否也相应改进了吗?无从知晓,不过在用的过程中确实有点遗憾.
Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & ThisWorkbook.FullName
Microsoft.jet.OLEDB.4.0 数据引擎 2007版本中进步了,可以用Microsoft.ace.OLEDB.12.0,在用于自身连接中,解决了某列数据中前8行如果为空的话,那么不能提取这列8行以后的数据,ADO 必须猜测 Excel 工作表或范围中各列的数据类型。(这不受 Excel 单元格格式设置的影响。)如果同一列中既有数字值,也有文本值,会出现严重的问题。Jet 提供程序将返回占多数的类型的数据,但对于占少数的数据类型,则会返回 NULL(空)值。如果该列中两种类型数据的数量相等,提供程序将优先选择数字型数据,放弃文本型数据。

例如:
·  在被扫描的八 (8) 行中,如果该列包含五 (5) 个数字值和三 (3) 个文本值,则提供程序将返回五 (5) 个数字和三 (3) 个空值。
·  在被扫描的八 (8) 行中,如果该列包含三 (3) 个数字值和五 (5) 个文本值,则提供程序将返回三 (3) 个空值和五 (5) 个文本值。
·  在被扫描的八 (8) 行中,如果该列包含四 (4) 个数字值和四 (4) 个文本值,则提供程序将返回四 (4) 个数字和四 (4) 个空值。
如果采用ACE引擎,前8行为空,会把这列8行以下所有的数据强制定为文本类型输出,而JET则把这列全部返回为 NULL,不管有没有数据
但还有一个问题:
不管采用JET40 还是ACE12.0 对EXCEL工作表总行数的最大行65536,却没有解决,
EXCEL:2003最大支持行数是65536, EXCEL2007最大支持行数是1048576,当数据超过了65536行 用ADO取数时,大家看看会怎样?
这可能ADO版本是过时了的吧,  ADO版本还是2.5,没有突破 65536.
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-5-23 12:52 | 显示全部楼层
回复

使用道具 举报

发表于 2012-5-23 13:41 | 显示全部楼层
8在注册表里有键值可修改,不知65536是否有相关可修改的参数?
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-9-21 03:46 , Processed in 0.258815 second(s), 4 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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