【发布时间】:2017-07-05 09:30:28
【问题描述】:
我只是尝试使用 vba 导入一个 .csv 文件。 我使用带有自定义规范的 DoCmd.TransferText 方法。我尝试使用向导导入具有相同规格的文件,并且效果很好。
但是当我启动 vba 时,我收到此错误消息:
Sorry, it is in german, but I think one can read the essentials
这是我调用方法的部分代码:
Public Function ImportFileToTable(params As ImportFileToTableParams) As ImportFileToTableResult
'TODO: Import a CSV File into the selected table
Dim result As New ImportFileToTableResult
On Error GoTo ImportFail
DoCmd.TransferText acImportDelim, params.SpecificationName, params.TableName, params.FileName, params.HasFieldNames
result.Success = True
Set ImportFileToTable = result
Exit Function
ImportFail:
result.Success = False
result.ErrorMessage = "There was an error importing the File"
Set ImportFileToTable = result
End Function
我的数据库在网络驱动器上,但我试图将它复制到我的本地驱动器上,并且它具有相同的 otcome。我还尝试了文件位置。
我使用的软件是: -Microsoft Access 2013
提前谢谢大家:)
【问题讨论】:
-
您的
Params.FileName似乎没有包含 CSV 文件的完整路径。 -
这也是我的第一个想法,但我也尝试将其直接写入方法并得到相同的错误
-
你能
Debug.Print Params.FileName给我结果吗?问题应该在那里,不知道有什么其他方法可以抛出该错误。另外,尽量省略调试参数,如Params.SpecificationName和Params.HasFieldNames -
这样放置的结果相同: DoCmd.TransferText acImportDelim, , params.TableName, params.FileName | Debug.Print Params.FilenName: C:\Users\aaa\Desktop\aaaviezev01.bgtvie.jc.local-Cl-201706050505.csv * *a 用于模糊信息
-
您的文件名中有隐藏字符(如果您只是复制粘贴的话)。将其复制粘贴到即时窗口会返回 aaaviezev01.bgtvie.jc.local-Cl-20170605??0505。奇怪的是,Windows 确实接受将文件重命名为该名称(据我所知,它不应该)。先重命名文件,再导入。
标签: ms-access vba ms-access-2013