VB中想用EXCEL做数据源,但引用和加载时都出错,详见图片!

cyh_119 2018-12-28 12:29:48
系统升级WIN10后,原2007版的OFFICE有一天不知什么原因莫名出错,就改装了Offic2016版。现在想在VB6中用excel做数据库,始终提示.dll错误,不知什么原因。ACCESS引用也有同类问题,不另附图了。请高手出招,谢谢。
...全文
930 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰不孤独 2019-01-14
  • 打赏
  • 举报
回复
直接用ADO读取excel就可以了,像操作数据库一样。你都说要当成数据源了。还用引用的方式来读来写?
舉杯邀明月 2019-01-12
  • 打赏
  • 举报
回复
哇,48分/ 48C币……好贵…………

可以到M$的官网下载,免费的。
ZHRXJR 2019-01-12
  • 打赏
  • 举报
回复
https://download.csdn.net/download/andrezone/6584773
cyh_119 2019-01-02
  • 打赏
  • 举报
回复
引用 8 楼 ZHRXJR 的回复:
有那样麻烦吗?下载一个 Excel 12.0 的驱动程序安装一下就解决问题了,这个主要是 Excel 的驱动不匹配引起的。


哪儿有下载的,能不能给个链接,找了半天没找到。
ZHRXJR 2018-12-29
  • 打赏
  • 举报
回复
有那样麻烦吗?下载一个 Excel 12.0 的驱动程序安装一下就解决问题了,这个主要是 Excel 的驱动不匹配引起的。
舉杯邀明月 2018-12-29
  • 打赏
  • 举报
回复
引用 6 楼 cyh_119 的回复:
"C:\Program Files (x86)\Common Files\microsoft shared\",我看了下,这个目录下没有OFFICE16这个文件夹,只有offcie11和office12两个文件夹。

这样啊…… 这就比较麻烦了…… 

也许真是“组件不完整”,因为这肯定不是“一个dll就完事”的,
 何况“数据库引擎”这么复杂的东西,才一个15KB都不到的dll就搞定?根本不可能。
你可以尝试一下把2016卸载了,安装2007试试(可以选择不安装Word、PPT等没用的东西)。
如果“可用”的话,不要卸载,直接再安装你的2016。
如果还是不能用,我也想不到别的处理方法了。
weixin_44333421 2018-12-29
  • 打赏
  • 举报
回复
直接用ADO读取excel就可以了
cyh_119 2018-12-28
  • 打赏
  • 举报
回复
"C:\Program Files (x86)\Common Files\microsoft shared\",我看了下,这个目录下没有OFFICE16这个文件夹,只有offcie11和office12两个文件夹。
舉杯邀明月 2018-12-28
  • 打赏
  • 举报
回复
这个我也不清楚了。
我没使用过“数据库引擎”方面的东西,安装VB6时我也把很多数据库相关组件去掉的。

看文件的版本信息,我的电脑中那个dll除了“时间”是20:13跟你的有差异之外,其它似乎都一样。
并且我的电脑中安装的就是32位的07版,目录1中还有很多“有点相似”的dll文件。
(ACE****.dll 就有23个,另外还有三个“子目录”中有一大堆文件)
你的那个目录中,如果只有几个、十来个文件,估计07版的组件是无法用的。
你安装的是2016了,看看“C:\Program Files (x86)\Common Files\microsoft shared\OFFICE16”
 中是不是有ACEODEXL.DLL啊……
也许你的这些“驱动”,应该更换成16版的组件。
(反正“不正常”,可以尝试regsvr32 /u  07版的dll,然后重新注册16版的那个dll)
VB业余爱好者 2018-12-28
  • 打赏
  • 举报
回复
去微软下载 Microsoft Access Database Engine 2016 ,安装之后再试试

https://www.baidu.com/link?url=uOAySLQOpA1riTchrNrot1xFDraJ7VFGG0QrGKb2w-nYf7NXZAbGEO_siunj3X5PCVOAAt2q1F1Y08HPtWWxd4yDBIfwKDZi-0dvkHncNuG&wd=&eqid=ed446c2c00004007000000065c258fd9

cyh_119 2018-12-28
  • 打赏
  • 举报
回复
1.在两个目录下都找这个文件了,目录1下的ACEODEXL.DLL 是06版的,目录2下ACEODEXL.DLL 最新修订日期是2012年,应该是两个不同的版本(见图)。但目录2下这个版本是我从网上下载后拷贝到目录2下的,因为原来出错提示这个文件不存在,所以下了一个放到提示的目录2下。后续如何操作?删除这个下载的ACEODEXL.DLL ?但我估计问题还是一样。
2.另一个困惑是,无论我使用 ODBC数据源管理程序32位还是64位的,都显示我的excel 是32位的,但实际上我安装的office 是2016 64位版的,什么原因?

舉杯邀明月 2018-12-28
  • 打赏
  • 举报
回复
引用 2 楼 cyh_119 的回复:
下载安装了,问题还是一样,没有解决。

你看看第2张图片那个提示,找一下那个文件,看在哪个目录中。
1. C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12
2. C:\Program Files\Common Files\microsoft shared\OFFICE12

上面“1”中所示的文件夹中,有没有 ACEODEXL.DLL ?
如果有,你在注册表中搜索一下“数值”: ACEODEXL.DLL
凡是找到如上图2中提示的那个“路径”的地方,全部改成我所说的“1.”的路径。

如果没有,“2”的目录中有没有?如果在这儿有(可能性很小),那是组件不兼容,没法了。

另外一种可能:
 文件夹“OFFICE12”是Office2007的组件路径,而你安装的是“Office 2016”了,
那个路径应该是一个“更大的数值”而不是12(具体多少我不清楚),
你看看你的Office组件具体是多少,你把注册表中相应的 ACEODEXL.DLL 的路径改正一下试试。
并且,那个“短路径”与你系统盘中未必相符(因为你“升级系统”,有“重复”会造成~3、~4等),
 最好还是把它改成“长路径”。
cyh_119 2018-12-28
  • 打赏
  • 举报
回复
下载安装了,问题还是一样,没有解决。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧