导入 Access 时文本文件规范不存在

Oli*_*eys 2 excel ms-access vba

我正在尝试.csv使用以下代码将分号分隔的文件导入访问数据库。我已经建立了一个名为“Import-FACTS”的导入规范。和 VBA 可以看到规范(通过放入OLEacc.CurrentProject.ImportExportSpecifications(0)观察窗口。

Sub ImportFacts()

Dim OLEacc As Access.Application

Set OLEacc = GetObject("", "Access.Application")

OLEacc.OpenCurrentDatabase (ThisWorkbook.Path & "\" & "LargeData.accdb")

OLEacc.DoCmd.TransferText TransferType:=acImportDelim, _ 
   SpecificationName:="Import-FACTS",_
   TableName:="Facts",_
   Filename:=ThisWorkbook.Path & "\Facts.csv",_
   HasFieldNames:=False

End Sub
Run Code Online (Sandbox Code Playgroud)

但是我收到调试消息:

运行时错误 '3625' 文本文件规范“Import-Facts”不存在 您不能使用该规范导入导出或链接。

有任何想法吗?

小智 7

进口重要说明

文本文件规范存在问题,因为名称可能与检查保存的导入时显示的名称不同。

要知道真实名称,请运行以下 SQL:

SELECT MSysIMEXSpecs.SpecName, 
       MSysIMEXColumns.FieldName, 
       MSysIMEXColumns.Start, 
       MSysIMEXColumns.Width, 
       MSysIMEXColumns.SkipColumn

FROM MSysIMEXColumns INNER JOIN 
     MSysIMEXSpecs ON MSysIMEXColumns.SpecID = MSysIMEXSpecs.SpecID

ORDER BY MSysIMEXSpecs.SpecName, 
         MSysIMEXColumns.Start, 
         MSysIMEXColumns.Width;
Run Code Online (Sandbox Code Playgroud)

SpecName字段包含您正在寻找的正确名称!

  • 这值得更多的投票,我到处搜索试图解决这里解释的问题 (2认同)