设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] 请问 access 中的vba 能否 直接将数组的数据存入 某个表中

[复制链接]
跳转到指定楼层
1#
发表于 2015-12-23 17:30:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问 access 中的vba 能否 直接将数组的数据存入 某个表中
一行一行 addnew 似乎效率不高
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2015-12-24 09:07:38 | 只看该作者
应该不可以。
1、可以考虑转为字符串,作为一行追加进去。
2、可以考虑用【insert 表 字段 values(值)】的SQL语句,用for循环追加进去。不过跟addnew可能区别不大。
不过反过来是可以的,即recordset可以很轻易地转为数组,用getrows方法即可,详细可参考以下链接:
http://www.office-cn.net/thread-121100-1-1.html
3#
 楼主| 发表于 2015-12-24 09:13:54 | 只看该作者
roych 发表于 2015-12-24 09:07
应该不可以。
1、可以考虑转为字符串,作为一行追加进去。
2、可以考虑用【insert 表 字段 values(值)】 ...

谢谢

那如果 将数组 以流写入文本 再 导入 这样和 直接addnew 那个效率高呢
4#
发表于 2015-12-24 09:37:47 | 只看该作者
先下车选4 发表于 2015-12-24 09:13
谢谢

那如果 将数组 以流写入文本 再 导入 这样和 直接addnew 那个效率高呢

以前试过,数据较多的时候,内置的TransferText比Recordset的AddNew会快一些。是否属于偶然现象不太清楚,因为没做过更多的测试。
流文件或者VB或者FSO写入文本都很快的。
5#
发表于 2015-12-24 12:12:29 | 只看该作者
不要解决问题,而应消灭问题。
不产生数组,直接将产生数组的过程改变为写数据表过程即可。
6#
 楼主| 发表于 2015-12-24 12:45:38 | 只看该作者
本帖最后由 先下车选4 于 2015-12-24 13:01 编辑
todaynew 发表于 2015-12-24 12:12
不要解决问题,而应消灭问题。
不产生数组,直接将产生数组的过程改变为写数据表过程即可。

xiexie 谢谢, 我明白 ,只是 vba有 直接表转数组的 功能, 为何就 没有反向的呢
7#
发表于 2015-12-24 13:11:17 | 只看该作者
先下车选4 发表于 2015-12-24 12:45
xiexie 谢谢, 我明白 ,只是 vba有 直接表转数组的 功能, 为何就 没有反向的呢

因为没必要。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-21 20:15 , Processed in 0.102547 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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