【问题标题】:Get the number of records processed by a saved import (MS Access, VBA)获取保存的导入处理的记录数(MS Access、VBA)
【发布时间】:2019-10-01 17:59:48
【问题描述】:

我正在使用 Microsoft Access。我正在使用 DoCmd.RunSavedImportExport 命令通过 VBA 执行保存的导入(从 Excel 电子表格)。我想以编程方式捕获此保存的导入处理的记录数。

DoCmd.RunSavedImportExport 上的 MS 文档并未表明我可以使用任何返回值或 ByRef 参数。

我搜索了 Google 和 SO,希望得到答案,因为我认为这已经得到解决。如果我错过了互联网上的答案,请告诉我!

这是我正在使用的代码。如果可以提供行数,我很乐意使用其他方法来导入我的电子表格。

DoCmd.RunSavedImportExport "<name of saved import>"

我想要类似的东西:

numRec = DoCmd.RunSavedImportExport("<name of saved import>")
debug.print "# rec loaded="& numRec

【问题讨论】:

  • 我认为 RunSavedImportExport 不可能,但另一种方法是检查您导入的表。如果是追加导入,可以统计前后的记录数。

标签: vba ms-access


【解决方案1】:

这确实不能使用DoCmd.RunSavedImportExport

相反,您可以使用查询来进行导入,Database.RecordsAffected

Dim db As DAO.Database
Set db = CurrentDb
db.Execute "SELECT * INTO SomeTable FROM [Excel 12.0 XML;HDR=Yes;DATABASE=C:\Path\To\File.xlsx].[MyNamedRange]"
debug.print "# rec loaded="& db.RecordsAffected

如果需要将记录追加到表中,可以将查询调整为追加查询。

【讨论】:

  • 非常有帮助,非常感谢。我将您的回复标记为已回答。
猜你喜欢
  • 2021-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多