使用 MS Access 导入多个文本文件

2023-12-03

我有大约 600 个带有标题的文本文件,我真的不想将它们一一手动导入到 MS Access 中。

我不想将文本文件附加到一张 Access 表中。如果我有 600 个文本文件,我希望结果是 600 个 Access 表。

我对此进行了大量搜索,我得到的最接近的是一些代码,它将获取我的文本文件并将它们附加到一个访问表中。我不想要这样。


考虑使用 For/Loop VBADoCmd.TransferText命令迭代文件夹目录中的所有文本文件并使用表示 1-600 的后缀导入它们。

Dim FSO as Object, objFolder As Object, objFile as Object

Set FSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = FSO.GetFolder("C:\Path\To\TextFiles")

i = 1
For each objFile in objFolder.Files
  If Right(objFile.Name, 3) = "txt" Then
    DoCmd.TransferText acImportDelim, , "File_" & i, objFolder & "\" & objFile.Name, True
  End if
  i = i + 1
Next objFile

Set objFile = Nothing
Set objFolder = Nothing
Set FSO = Nothing

在 TransferText 的空参数中,您可以使用在手动导入文本文件期间创建的预定义规范对象。这允许您命名导入的文本文件的字段、定义数据类型等。

最后,如果所有文件的结构相同,请考虑再次导入到一个表中,并根据需要使用相关字段的查询来分解为 600 个分组。要使用一张表,只需替换"File_" & i上面的参数带有表字符串名称:"dataFiles"。您可以节省表命名空间,减少数据库对象的存储,总体上有助于更好的组织和关系模型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 MS Access 导入多个文本文件 的相关文章

随机推荐