亏本,我有一个导入模块,用于帮助技术水平较低的同事将数据导入访问数据库进行处理。我使用以下代码进行8个差异文本导入,除了一个之外它们都可以工作。我可以使用导入规范手动导入,这不是问题,我已经三次检查表并导入规范名称,也不是问题,任何人都可以告诉我为什么访问会抛出错误?
Function import_Headcount()
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Set db = CurrentDb
Dim path As Variant
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM [tbl_Headcount]"
With fd
.AllowMultiSelect = False
If .Show = -1 Then
For Each path In .SelectedItems
DoCmd.TransferText acImportDelim, "National Headcount", "tbl_Headcount", path, False
Next path
Else
MsgBox ("Import for Headcount cancelled")
Exit Function
End If
End With
Set fd = Nothing
db.Execute "qry_Update_Headcount_Fields"
DoCmd.SetWarnings True
MsgBox ("Import of Headcount complete")
End Function
它在DoCmd.TransferText行上抛出一个“3001”错误,正如我所说,我已经用不同的表和导入规范复制并粘贴了这个小函数8次,并且无法理解为什么这个不起作用。谢谢你的帮助!
答案 0 :(得分:0)
您是否尝试在规范名称中使用方括号?
DoCmd.TransferText acImportDelim, "[National Headcount]", "tbl_Headcount", path, False
答案 1 :(得分:0)
听起来你在故障排除方面走在正确的轨道上......继续排除变量,直到找出问题为止。
我建议安装免费软件Access插件V-Tools。这有一个用于管理/编辑导入规范的实用程序。这将是我在调试导入问题时可以使用的第一个工具。它包含许多其他有用的工具,但对于手头的项目,我认为您会发现导入/导出规范表格非常有用。
以下是我们每天使用的导入规范的屏幕截图:
如您所见,在导入和导出数据时,此实用程序提供的内容远比内置向导多。
希望有所帮助!