【问题标题】:How to add NUMBER column with default value?如何添加具有默认值的 NUMBER 列?
【发布时间】:2019-08-19 13:18:20
【问题描述】:

我正在尝试使用 VBA 将 NUMBER 类型的列添加到我的表中。这对我有用。但我也想将列的默认值设置为 0,这不能正常工作。我想我需要一些帮助。

我不想更改一列,我想添加一列并同时设置一个默认值。

以下代码正在运行,它添加了一个没有任何内容的列。

strSQL = "ALTER TABLE testTable ADD COLUMN testColumn NUMBER;"
dbs.Execute strSQL

但这不起作用并给出错误。

strSQL = "ALTER TABLE testTable ADD COLUMN testColumn NUMBER DEFAULT 0;"
dbs.Execute strSQL

我收到的错误消息是“运行时错误'3293':ALTER TABLE 语句中的语法错误。”

【问题讨论】:

标签: vba ms-access dao


【解决方案1】:

默认仅在从 ADO 连接执行的 DDL 中使用时才有效。我测试过的语法是这样的:

CurrentProject.Connection.Execute "ALTER TABLE testTable ADD COLUMN testColumn NUMBER"
CurrentProject.Connection.Execute "ALTER TABLE testTable ALTER COLUMN testColumn SET DEFAULT 0"

此外,这只会为所有新记录设置表的默认值,并且不会将现有记录修改为 0。如果这也是您的意图,只需运行更新查询,就像这样。

strSQL = "UPDATE testTable SET testTable.testColumn = 0;"
CurrentDb.Execute strSQL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    • 2010-09-08
    相关资源
    最近更新 更多