DoCmd.Transfer电子表格问题



我在使用DoCmd.TransferSpreadsheet acImport, 8, TableInput, FilePathName, True将一组特定的 Excel 工作簿导入到 Access 中的表中时遇到问题

有效的一件事是当我打开每个工作簿并重新保存它们时,代码就可以工作了,不确定可能是什么问题。文件类型显示工作簿是 97-2003,所以我使用值 8,但这仍然给出运行时错误 3274,除非我执行上述操作。并且代码与其他 excel 文件集没有问题。使用文档检查器时,我也没有看到文件之间的任何差异。

请注意,我使用的 excel 文件由第三方公司提供。感谢您的帮助!

您可以尝试直接从查询中读取 Excel:

SELECT  s.*
FROM [Sheet1$] s IN '' [Excel 12.0 Xml;HDR=YES;IMEX=2;ACCDB=YES;DATABASE=@sourceFile]

只需将工作表名称替换为尾随的 $,
并将 @sourcefile 替换为完整的文件名。

您甚至可以指定起始行、列和条件:

SELECT  s.*
FROM [Fees$a10:h10] s IN...
WHERE [someField] IS NOT NULL

最新更新