设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[模块/函数] 如何导入指定的CSV文件

[复制链接]
跳转到指定楼层
1#
发表于 2016-1-20 20:11:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问如果导入指定地点和指定文件名的CSV文件,有没有简洁点的代码,比如导入D:/abc文件夹中,文件名包含“幸福每一天”的CSV文件,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2016-1-21 09:11:22 | 只看该作者
DoCmd.TransferText acImportDelim,"规格名称","表名","csv完整路径",False
规格名称:如果没有保存过规格,可以忽略。
表名:Access里的表名称。如果没有存在,则会自动创建。如果已有,应该是覆盖旧数据。
csv完整路径:csv的完整路径(需包含csv扩展名),例如:D:/abc/xxx.csv

简单一点的代码,需要使用FSO来遍历文件名,引用Microsoft scripting runtime库
请参考:
http://www.office-cn.net/thread-109240-1-1.html
3#
 楼主| 发表于 2016-1-24 16:01:06 | 只看该作者
谢谢您的指点,
DoCmd.TransferText acImportDelim, "", "表名", "D:\abc\'*' & "幸福每一天" & '*'.csv", False

我想导入D:\abc文件夹中,包含"幸福每一天"的CSV文件,文件名前后均需要加入通配符”*“,请问代码如何写,谢谢!
4#
发表于 2016-1-26 10:33:40 | 只看该作者
123shusheng 发表于 2016-1-24 16:01
谢谢您的指点,
DoCmd.TransferText acImportDelim, "", "表名", "D:\abc\'*' & "幸福每一天" & '*'.csv", ...

不能用通配符的。
含有通配符的情况应考虑使用FileSystemObject来遍历符合要求的文件。估计你没有打开2L给出的链接并下载附件,或者没理解附件中代码的精要。
5#
 楼主| 发表于 2016-1-26 19:40:28 | 只看该作者
roych 发表于 2016-1-26 10:33
不能用通配符的。
含有通配符的情况应考虑使用FileSystemObject来遍历符合要求的文件。估计你没有打开2L ...

非常感谢roych版主的回复,这么多年您一直坚守在这个论坛,默默的帮助大家,真心向您表示由衷的敬意!
我的问题已经写在我的附件里了,请您看看,谢谢!

本帖子中包含更多资源

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

x
6#
发表于 2016-1-27 11:09:00 | 只看该作者
不说话。看附件

  1. Private Sub Command0_Click()
  2. Dim rst As New ADODB.Recordset

  3. rst.Open "表1", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

  4. Do Until rst.EOF
  5. '加上这句,避免不存在表时,无法删除导致出错。
  6.     On Error Resume Next
  7.     CurrentDb.TableDefs.Delete rst("文件名")
  8.     DoCmd.TransferText acImportDelim, "", rst("文件名"), CurrentProject.Path & "\待导入文件" & rst("文件名") & ".CSV", True
  9.     rst.MoveNext
  10. Loop

  11. End Sub
复制代码

本帖子中包含更多资源

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

x
7#
 楼主| 发表于 2016-1-31 19:46:18 | 只看该作者
本帖最后由 123shusheng 于 2016-1-31 20:05 编辑
roych 发表于 2016-1-27 11:09
不说话。看附件

我试了您的代码,好像还有问题,请您看看,谢谢!

本帖子中包含更多资源

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

x
8#
发表于 2016-2-1 09:29:49 | 只看该作者
本帖最后由 roych 于 2016-2-24 11:42 编辑

实话说,这个帖子我是不打算回复的。不过对于新手,我还是像说两句:

1、如果不能导入,或者导入的格式有问题,那是我的问题;否则就是你的需求不清晰,那是你的问题。
2、如果不是我的问题,我是不会进一步修改的。
3、把文件名写清楚即可导入,跟有没有空格没问题的。不过你新上传的附件里,代码已经被改得乱七八糟了,我表示无语。

根本不存在一个"\待导入文件\20160131\"的路径,怎么可能导入?既然你非要这么改的话,麻烦先按日期创建一个文件夹,然后再继续修改文件名,与“文件”字段的记录一致。否则就按附件来修改:


最后,如果你不理解TransferSpreadsheet,你可以自行百度下,或者在帮助文件里看看这个方法是怎么用的。

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-5-4 18:01 , Processed in 0.099147 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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