使用R(RDCOMClient)从Accessdb导出表

时间:2017-10-18 15:18:13

标签: r ms-access rdcomclient

我想将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.

任何帮助表示赞赏! (&#34; RODBC方法&#34;使用32位R对我需要的实体不起作用)

提前致谢...

1 个答案:

答案 0 :(得分:1)

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

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

此外,由于您正在使用后期绑定,因此无法使用acExportDelim枚举,因此您必须使用该值的数字(2)

最终导出命令:

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

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