将特定数据从 csv 文件导入 MS Access
Posted
技术标签:
【中文标题】将特定数据从 csv 文件导入 MS Access【英文标题】:Importing specific data from csv file into MS Access 【发布时间】:2017-07-13 10:57:21 【问题描述】:我有一个 csv 文件,它是一个工具的输出,我需要从这个文件中读取特定数据(只是 B3,然后从 A13 到 C17,它总是相同的)。之后,需要将其导入到 ms 访问表中。有没有我可以用来执行此操作的功能,然后我可以在按钮后面设置它以便用户友好?
【问题讨论】:
A13 到 C17 是 Excel 范围。 csv 文件基本上是一个文本文件。如果您只需要 Excel 中的特定范围,则可以将 csv 转换为 excel,然后导入(或链接到)该范围。否则,您必须导入整个 csv。 可能更简单的解决方案(而不是将其转换为电子表格,然后从那里导入特定列)只是使用DoCmd.TransferText
导入整个工作表,然后删除不需要的列或将所需的列复制到表中并删除旧表。
【参考方案1】:
将文件转换为 Excel(另存为 -> Excel 工作簿)后,使用按钮后面的这行代码将数据导入 Access:
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, YourTableName, YourFileName, False, "B3"
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, YourTableName, YourFileName, False, "A13:C17"
数据在 Access 中后,您可以对其进行任何操作。
请在TransferSpreadsheet
功能上找到here 帮助。
您可以使用Excel.Application
对象通过代码将csv转换为Excel。
【讨论】:
感谢您的回复我的代码已经运行到需要一个 csv 文件并将其转换为 excel 文件并开始导入它的地步,问题是将每个单元格定义为您提供的格式给出一个错误说“B3”找不到。我在这里环顾四周,看到一篇类似的帖子,上面说尝试命名范围然后调用它,但从访问端找不到任何东西这是可能的,还是有办法在不命名的情况下引用单元格?再次感谢您迄今为止的建议以上是关于将特定数据从 csv 文件导入 MS Access的主要内容,如果未能解决你的问题,请参考以下文章
将分隔文件 (.csv) 中的行导入 MS-Access 表