MS Access 布尔字段和默认 (True) 值

Posted

技术标签:

【中文标题】MS Access 布尔字段和默认 (True) 值【英文标题】:MS Access Boolean Field and Default (True) Value 【发布时间】:2021-01-12 23:30:31 【问题描述】:

我正在尝试 - 使用以下查询 - 在 MS Access 2007 数据库中添加一个具有 TRUE 默认值的新布尔字段,但它不起作用。因为它总是设置默认值 FALSE。

ALTER TABLE Banks ADD COLUMN _Active BIT -1
ALTER TABLE Banks ADD COLUMN _Active YESNO -1
ALTER TABLE Banks ADD COLUMN _Active LOGICAL -1

有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

CurrentProject.Connection 执行您的 DDL 语句。这个版本在 Access 2010 中对我有用:

strSql = "ALTER TABLE Banks ADD COLUMN _Active YESNO DEFAULT True"
CurrentProject.Connection.Execute strSql

之后,如果要设置格式(例如 True/False 或 Yes/No)或将 Display Control 设置为复选框,则需要使用 VBA 来调整字段的属性。这些不能通过 Access DDL 完成。

【讨论】:

当我通过 Delphi 应用程序使用相同的查询时它工作正常,谢谢@HansUp【参考方案2】:

在数据类型后包含DEFAULT 关键字。您应该可以使用您尝试过的任何一个(BITLOGICALYESNO

ALTER TABLE Banks ADD COLUMN _Active BIT DEFAULT -1

【讨论】:

当我使用 DEFAULT 时,它会给出一个语法错误消息,当我删除 DEFAULT 时它可以工作,但使用 FALSE

以上是关于MS Access 布尔字段和默认 (True) 值的主要内容,如果未能解决你的问题,请参考以下文章

使MS Access号码字段显示为空而不是0

需要验证码,因此 3 个布尔字段中只有 1 个可以为真

如何同步到 MS Access 中的表?

如何在 ms-access 中使用 ISNULL 函数

jpa-derby 布尔合并

ElasticSearch字段属性个性化设置