设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: wangxy689
打印 上一主题 下一主题

[表] 如何实现一键数据导入ACCESS

[复制链接]
11#
发表于 2012-5-26 21:54:52 | 只看该作者
本帖最后由 ceshi001 于 2012-5-26 21:56 编辑
roych 发表于 2011-4-2 11:02
回复 wangxy689 的帖子

1、如果自定义路径的话,应该引用office库之后用filedialog对象来处理。


请问如果目标文件是csv格式,这一行应该怎么改呢,我试了一下午都不行,
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "临时表", Me.路径.Value, True
12#
发表于 2012-5-27 00:59:00 | 只看该作者
ceshi001 发表于 2012-5-26 21:54
请问如果目标文件是csv格式,这一行应该怎么改呢,我试了一下午都不行,
DoCmd.TransferSpreadshee ...

需要修改成:
DoCmd.TransferText acImportDelim, , "临时表", Me.路径.Value,True
这里的csv文件仅为逗号分隔的文本文件。
13#
发表于 2012-5-27 09:04:43 | 只看该作者
roych 发表于 2012-5-27 00:59
需要修改成:
DoCmd.TransferText acImportDelim, , "临时表", Me.路径.Value,True
这里的csv文件仅为逗 ...

哈哈,一大早的惊喜啊,谢谢版主~昨晚睡觉前就看到日常重复工作可以用这个工具来接近完美的可能性,太强了~在这还有两个小疑惑:
1、当目标待导入文件字段比“临时表”字段多,只需导入“临时表”字段,该如何实现?
2、目标为TXT文件,为分号分隔,无字段名称且标题行为一长整型(由文件生成时间与文件条数信息组成,实际内容由第二行开始),用TransferText可以吗?
我想要的最终结果,是这两个不同类型文件通过导入的方式分别成为我的两个数据表,之后围绕这两个表的查询就水到渠成了
14#
发表于 2012-5-27 09:47:31 | 只看该作者
1、用这个工具必须要把临时表全部字段导入,除非写成ADO,在代码里输入特定字段进行追加。这里给一个按所选字段进行导出工具供参考使用:

2、可以用TransferText,但由于并非标准格式,因此临时表需要保留字段信息,且待导入表需要删除第一行后再进行导入。

本帖子中包含更多资源

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

x
15#
发表于 2012-5-28 14:07:43 | 只看该作者
本帖最后由 ceshi001 于 2012-5-28 20:49 编辑
roych 发表于 2012-5-27 09:47
1、用这个工具必须要把临时表全部字段导入,除非写成ADO,在代码里输入特定字段进行追加。这里给一个按所选 ...


汗,代码这么少也看不懂,更别说ADO了。我即使是全字段导入也遇到问题了,问题有点多啊,版主见谅~
1、当源文件字段超出临时表时,导入不成功;
2、源文件为csv格式,用记事本打开,id_nbr和c_nbr中的小于16位或非数字格式才能正常显示,其他均为科学计数,且有错误表生成;
3、每导入一次数据,即使清除后,ACCESS文件容量不断增加;
4、如将现有临时表字段设为固定,源文件含相关字段则导入,不含则跳过,如何用ADO应用实现?

本帖子中包含更多资源

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

x
16#
发表于 2012-5-29 00:52:21 | 只看该作者
ceshi001 发表于 2012-5-28 14:07
汗,代码这么少也看不懂,更别说ADO了。我即使是全字段导入也遇到问题了,问题有点多啊,版主见谅~
1、 ...

1、字段超过预设字段必然会导致错误的产生。这个问题在上一个回帖里已经讲得很清楚了,需要用ADO或者其它方式来完成。
2、csv文件的格式问题是一定要处理的。建议身份证部分保存为文本(用Excel打开的时候就会发现数据的格式了)。
3、请在工具\选项\常规里勾选“关闭时压缩”,那么Access文件一般不会变化很大。
4、用“Select [字段1],[字段2],[字段3]……[字段N] From 表A”之类来设置。

但鉴于这个例子,建议不要用导入,而改成链接表会更方便好些。

这里暂时没有处理问题1.

本帖子中包含更多资源

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

x
17#
发表于 2012-5-29 23:35:20 | 只看该作者
roych 发表于 2012-5-29 00:52
1、字段超过预设字段必然会导致错误的产生。这个问题在上一个回帖里已经讲得很清楚了,需要用ADO或者其它 ...

先谢谢版主耐心的解答,除了类似证件号字段以科学计数显示,其他数据均可按全字段以链接表的形式展示且无须再指定格式,如此后续查询围绕链接表展开即可。只是随机输出几条原数据并据此完成所有工作的预期就由此削减了,因为用到的主要字段还是要以类似证件号来接入,可惜CSV是公司指定输出格式,咨询技术部,无须特别指定生成数据字段格式,不知道还有没其他办法?要不然依据链接表做的查询固然可以解决基本信息查询,但毕竟还是要以其他方式打开源数据表抽取相关字段做某些必要性验证,有点不爽哈~
18#
发表于 2012-5-30 01:13:11 | 只看该作者
ceshi001 发表于 2012-5-29 23:35
先谢谢版主耐心的解答,除了类似证件号字段以科学计数显示,其他数据均可按全字段以链接表的形式展示且无 ...

如果贵司的数据库有接口的话,可以通过其它方式把数据追加到Access里的。科学计数法其实是不太能很清晰地表达到身份证号码的(后面的貌似都是0了)。像附件这个问题,也许只能通过ADO通过对格式的转换来完成了(TransferText无法完成这一点)。
19#
发表于 2012-6-6 22:32:29 | 只看该作者
roych 发表于 2012-5-30 01:13
如果贵司的数据库有接口的话,可以通过其它方式把数据追加到Access里的。科学计数法其实是不太能很清晰地 ...



有两个地方不懂,是哪一句代码把“临时表”转到“链接表”的?我即便把它删了。还有就是我想新建一个按钮,单击将TXT格式文件导进来,把代码拷过来将CSV改为TXT、“链接表”改为“链接表1”,但是没能按分号分段,应该如何设置?如果可以,若想比对CSV的Order字段与TXT的第一个字段内容是否一致(不一致时显示出来),该如何写查询?呵呵问题好多,我已经在开始看书了,但还是不明白,版主勉为其难再指点一下哈~

本帖子中包含更多资源

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

x
20#
发表于 2012-6-7 22:48:36 | 只看该作者
额。。。沉得好快哦,版主帮帮我啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-29 13:28 , Processed in 0.109601 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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