在MSAccess中重命名列的DDL是什么?

mik*_*may 6 ddl ms-access

在MS Access中重命名列的DDL是什么?有点像:

alter table myTable rename col1 to col2

这对MSAccess 2000格式数据库不起作用.我正在使用带有MSAccess 2000格式数据库的OLEDB或ADO.NET,但感谢任何语法提示或建议如何使用ADO.NET以其他方式实现此目的.

Mar*_*ins 7

我在家,目前无法测试,但我认为这应该有效.该网站提供有关它的信息.

ALTER TABLE thetable ALTER COLUMN fieldname fieldtype
Run Code Online (Sandbox Code Playgroud)

编辑 我测试了这一点,奇怪的是,你不能重命名我能找到的列.该ALTER COLUMN语法只允许改变类型.使用SQL,似乎有必要删除列,然后重新添加.我想数据可以保存在临时表中.

alter table test drop column i;
alter table test add column j integer;
Run Code Online (Sandbox Code Playgroud)


Fio*_*ala 7

除了添加新列,从现有列更新然后删除"旧"列之外,我不相信您可以这样做.

但是,它在VBA中非常简单:

Set db = CurrentDb
Set fld = db.TableDefs("Table1").Fields("Field1")
fld.Name = "NewName"
Run Code Online (Sandbox Code Playgroud)

  • ......当然,使用DAO.DAO是控制Jet的自然界面,虽然DDL很方便,但Jet/ACE从未得到很好的支持.我从来不关心,因为我没有通过代码改变我的模式(我手工完成,因为它是在蓝色月亮中发生的事情 - 编写脚本并测试它需要更长时间才能完成去做就对了). (3认同)

小智 5

我的解决方案,简单但有效:

Dim tbl as tabledef
set tbl = currentdb.TableDefs("myTable")
tbl.fields("OldName").name = "Newname" 
Run Code Online (Sandbox Code Playgroud)