【问题标题】:DoCmd.TransferSpreadsheet IssuesDoCmd.Transfer电子表格问题
【发布时间】:2019-08-28 14:50:38
【问题描述】:

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

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

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

【问题讨论】:

标签: vba ms-access


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多