访问显示允许零长度为“是”的SQL链接表

时间:2019-02-21 17:20:16

标签: sql-server tsql ms-access database-migration

我曾多次尝试创建一个SQL Server表以在表上具有“不允许零长度值”约束的情况下链接到Access前端,但是当我将该表链接到我的前端时,就进行了表设计显示允许零长度 =

enter image description here

现在,我已经尝试了各种方法来尝试将其更改为(对于我正在研究的迁移项目,我需要将其更改为)。我不确定在SQL Server上需要做些什么,以确保在将该表链接到我的访问前端时,此约束是否定的。

这是我的表的创建脚本:

Create Table Riku(
    ID int NOT NULL PRIMARY KEY,
    testtext varchar(255), 

    CONSTRAINT DissalowNulls
    CHECK (testtext <> ''),

    CONSTRAINT DissalowNull2
    CHECK (LEN(testtext) = 0)
);

这两个约束都不起作用。我尝试使用Nvarchar,Varchar和Text作为SQL数据类型,所有这些都产生了相同的结果(是)。 有任何想法吗?

2 个答案:

答案 0 :(得分:0)

您必须指出不允许为空的列

Create Table Riku(
    ID int NOT NULL PRIMARY KEY,
    testtext varchar(255) NOT NULL, 

    CONSTRAINT DissalowNulls
    CHECK (testtext <> '')
);

答案 1 :(得分:0)

我将您的问题解释为:

”为什么在SQL Server中为“ DisalowNulls”创建约束时 在查看表属性时不会以这种方式出现 访问权限?”

我对这些问题的回答是“它们不是语法等效的功能”。当Access解释链接表的设计时,它不会将它们视为相同的属性。在SQL Server中创建的约束更类似于Access 验证规则,尽管该约束也不会出现在Access表设计器中。

如果Access禁用与链接表的数据库类型无关的属性,那就太好了。其他属性,例如FormatInput MaskCaption也可以在该类别中。