Set objAccess = CreateObject("Access.Application")
objAccess.DoCmd.rename "new_", 0, "new"
此处它将new
重命名为new_
,工作正常并重命名
Curmonth1 = [new]
Curmonth2 = [new_]
objAccess.DoCmd.RunSQL "SELECT * INTO" & Curmonth1 & "FROM" & Curmonth2 & "WHERE 1 = 2"
此查询有时正常工作,有时会抛出错误 运行时错误2501运行命令操作被取消 因为我在使用Access DB时将2个变量传递到VBA中的查询
也试过这个查询
objAccess.DoCmd.RunSQL "CREATE TABLE" & Curmonth1 & "AS SELECT * FROM" & Curmonth2 & "WHERE 1 = 2"
这根本不起作用。
帮帮我。任何其他可以工作的查询 我觉得应该在这两个查询之间进行一些数据库刷新。
答案 0 :(得分:1)
如果要复制没有内容的表结构,请尝试:
'copy table without data with new name
strPath = CurrentProject.FullName
DoCmd.TransferDatabase acImport, "Microsoft Access", strPath, acTable, "SourceTableName", "NewTableName", True
编辑:作为一个(令人困惑的)单行:
DoCmd.TransferDatabase acImport, "Microsoft Access", CurrentProject.FullName, acTable, "SourceTableName", "NewTableName", True
编辑:在单独的子中尝试此代码并检查它是否有效(替换“SourceTableName”):
Sub testSub()
DoCmd.TransferDatabase acImport, "Microsoft Access", CurrentProject.FullName, acTable, "SourceTableName", "NewTableName", True
End Sub