设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3238|回复: 6
打印 上一主题 下一主题

[ADO/DAO] 用ADO连接EXCEL2007后保存为ACCESS数据表的问题

[复制链接]
跳转到指定楼层
1#
发表于 2012-12-28 15:08:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位前辈,小弟新学ADO,想用ADO连接服务器上的EXCEL表作为数据源,待进行某些数据处理后,再保存到Access表里面
研究了一下午,刚把连接EXCEL数据的步骤弄清楚,可是不知道如何保存成Access表

Dim Connstr As String
Dim cn As New ADODB.Connection
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
add = "D:\yuxgworkcenter\My Documents\SC Database\SourceData.xlsx"
Connstr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & add & ";Extended Properties='Excel 12.0 Macro;HDR=YES';"
cn.Open Connstr
rs.Open "Select * from [基础数据$]", cn, adOpenKeyset, adLockOptimistic

上面是连接的代码,接下来我想把记录集rs保存到当前Access数据库的某个数据表中,数据表需要新建,请问如何操作?
还望各位前辈不吝赐教,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2012-12-28 17:16:07 | 只看该作者
既然你可以连接到 Excel 的数据表,那么你同样可以连接到 Access 的表,然后,新建一个连接该表的记录集,通过遍历的办法,将 Excel 记录集的内容,新增到 Access 记录集中,这样就完成了你的任务。
3#
发表于 2012-12-28 17:19:43 | 只看该作者
什么必要直接用生成查询就可以从Excel表创建数据表了。
4#
 楼主| 发表于 2012-12-28 17:20:44 | 只看该作者
zhuyiwen 发表于 2012-12-28 17:16
既然你可以连接到 Excel 的数据表,那么你同样可以连接到 Access 的表,然后,新建一个连接该表的记录集,通 ...

谢谢回复!
请问对于记录集中数据的复制,是否只能逐行进行?有没有什么方法能够按列或者整体复制?因为我那个EXCEL表中数据量很大,如果遍历的话估计要很久
5#
 楼主| 发表于 2012-12-28 17:55:29 | 只看该作者
todaynew 发表于 2012-12-28 17:19
什么必要直接用生成查询就可以从Excel表创建数据表了。

其实导入EXCEL表后再操作也可以接受,不过因为想借着这个问题研究一下记录集操作的相关技巧,所以还是想坚持一下
请问如果用某EXCEL表作为数据源建立了一个recordset,我能否用这个recordset执行SQL生成查询?
6#
发表于 2012-12-28 22:44:14 | 只看该作者
imono 发表于 2012-12-28 17:55
其实导入EXCEL表后再操作也可以接受,不过因为想借着这个问题研究一下记录集操作的相关技巧,所以还是想坚 ...

除非反过来,在Excel里写ADO代码来操作Access,不过结果还是要回到逐行写入Access的。
最佳的办法就是链接Excel数据表,然后用追加查询把数据追加到Access本地表;或者直接用Access导入。
7#
 楼主| 发表于 2012-12-29 09:31:08 | 只看该作者
roych 发表于 2012-12-28 22:44
除非反过来,在Excel里写ADO代码来操作Access,不过结果还是要回到逐行写入Access的。
最佳的办法就是链 ...

早上睡觉迷迷糊糊的时候梦到有人告诉我可以把EXCEL表的名称作为追加查询的数据源,起来后很是激动,然后写了如下语句:
Connstr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Add & ";Extended Properties='Excel 12.0 Macro;HDR=YES';"
cn.Open Connstr
cn.Execute "Select * into TEST1 from [基础数据$];"
其中[基础数据$]是EXCEL表中的表名,结果还是不行,请问链接EXCEL数据表后,如何用追加查询把数据追加到本地表?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-28 22:24 , Processed in 0.250505 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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