使用SQL将列添加到MS Access中的多个表

时间:2013-11-05 15:49:13

标签: sql ms-access

我有一个包含近200个表的Access数据库。我想重命名其中许多字段(以便在分析R中的数据时更容易)。我发现你不能简单地重命名Access中的字段,但必须采用添加新列,传输数据,然后删除旧列的困难方法。

有没有办法使用SQL一次为多个表(或多个表和列)执行此操作?

我试过了:

ALTER TABLE * FROM MSysObjects ADD COLUMN colname NUMBER

以及:

ALTER TABLE table1, table2, table3... ADD COLUMN colname NUMBER

但似乎都不起作用。

这有可能吗?有谁知道如何编码?

1 个答案:

答案 0 :(得分:2)

"有没有办法使用SQL一次为多个表(或多个表和列)执行此操作?"

没有。这超出了Access SQL的能力。您将需要执行一系列语句,每个语句只能更改一个表。

您可以创建一个VBA过程来构建和执行这些语句。但是,如果您愿意使用VBA,请考虑通过DAO对象模型重命名列。

以下是立即窗口中的一个简单示例:

? CurrentDb.TableDefs("tblFoo").Fields("some_text").Name
some_text
CurrentDb.TableDefs("tblFoo").Fields("some_text").Name = "some_text2"
? CurrentDb.TableDefs("tblFoo").Fields("some_text2").Name
some_text2