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字段包含您正在寻找的正确名称!