访问VBA copyobject错误

时间:2017-10-23 12:57:20

标签: sql vba ms-access runtime-error

我正在尝试在访问中编写一个简单的VBA,将一个表复制到另一个访问数据库并重命名。

这是我的代码:

sub copy_table ()

    dim destDB as string
    destDB = "Y:\GDA_files\MI1.mdb"

    docmd.copyobject destDB, "Progress tracking 1", acTable= acDefault, "Progress tracking " & date

end sub

但是我收到了消息

  

运行时错误'2501':

     

CopyObject操作已取消

我不知道为什么会出现这种错误。 有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您是否尝试将表名放在后引号之间?

  

表名称可以包含任何有效字符(例如,空格)。如果   表名包含除字母,数字和之外的任何字符   下划线,名称必须用后面的引号将其分隔   (`)。

https://docs.microsoft.com/en-us/sql/odbc/microsoft/table-name-limitations

中的

答案 1 :(得分:0)

DoCmd.CopyObject(DestinationDatabase, NewName, SourceObjectType, SourceObjectName)

您可能混淆了NewNameSourceObjectName参数。

并且acTable= acDefault毫无意义。

尝试:

' this will sort table names chronologically
strNewName = "Progress tracking " & Format(Date(), "yyyy-mm-dd")

DoCmd.CopyObject destDB, strNewName, acTable, "Progress tracking 1"