1

我想将表从 Access 数据库导出到 .txt 文件。

这是我的代码:

library(RDCOMClient)
#Path of txt File
destPath = 'C:\\Path\\to\\Hello.txt'
#Path of AccessDB
strDbName = "C:\\MyPath\\AccessDB.accdb"
#launche Access App
oApp = COMCreate("Access.Application")
#open the AccessDB
oApp$OpenCurrentDatabase(strDbName)
#Export the table to txt using transferText Method
acExportDelim  <- 0
exportObj = oApp[["DoCmd"]]
exportObj$TransferText(acExportDelim,"NameOfTable", destPath, TRUE)
oApp$Quit()
exportObj <- NULL
oApp <- NULL

我不知道为什么它不起作用...

这是我一直收到的错误消息:

<checkErrorInfo> 80020009 
Error: exception occurred.

任何帮助表示赞赏!(使用 32 位 R 的“RODBC 方法”不适用于我需要的实体)

提前致谢...

4

1 回答 1

1

你的论点DoCmd.TransferText是不正确的。第二个参数,你放置表名的地方,应该是导出规范的名称。因为你错了,所有其他论点也是错误的。

首先,在 Access ( guide )中创建一个命名的导出规范。然后,在命令中使用它来导出表。

此外,您不能使用acExportDelim枚举,因为您使用的是后期绑定,因此您必须使用该值的数字 (2)

最终导出命令:

oApp[["DoCmd"]]$TransferText(2,"ExportSpecificationName", "TableName", destPath, TRUE)

请注意,如果可能,您最好尝试修复 ODBC 连接。

于 2017-10-18T16:42:44.010 回答