通过vba更改字段的默认值

时间:2014-12-22 18:51:44

标签: vba ms-access access-vba

我正在尝试更改刚刚通过VBA添加的字段的默认值。我在下面添加了这行代码,但是由于某种原因,它说该项目不在集合中,我真的很困惑为什么。任何帮助将不胜感激!

AddColumn = "ALTER TABLE ShouldImportMetricsIDsTable " & _
"ADD COLUMN [ImportStatus] TEXT"

db.Execute AddColumn

CurrentDb.TableDefs("ShouldImportMetricsIDs").Fields("ImportStatus").DefaultValue = "No"

我还添加了添加字段的行。

2 个答案:

答案 0 :(得分:3)

您刚刚在引用ALTER TABLE的{​​{1}}和VBA代码ShouldImportMetricsIDsTable中指向了不同的表格。

P.S。内置ShouldImportMetricsIDs属性,因此您可以轻松设置其值

DefaultValue

但是其他一些字段属性很奇怪,所以你必须使用这样的结构:

CurrentDb.TableDefs("ShouldImportMetricsIDsTable").Fields("ImportStatus").DefaultValue = "No"

答案 1 :(得分:1)

我认为您可以将默认值添加到ALTER TABLE表达式:

CurrentProject.Connection.Execute "ALTER TABLE ShouldImportMetricsIDsTable " & _
"ADD COLUMN [ImportStatus] TEXT" & _
"DEFAULT ""No"";"

我的答案是基于这个问题:SQL SET DEFAULT not working in MS Access

编辑:看看HansUp在该链接中的答案,我编辑了上面的答案,以反映他在那里使用的语法。我希望这适合你。