Sql ms access中的检查约束

Sql ms access中的检查约束,sql,constraints,ms-access-2007,check-constraints,Sql,Constraints,Ms Access 2007,Check Constraints,我试图在ms access(SQL视图)中执行此语句,但这在检查约束和数值(3,2)上显示了一个错误。。当我从numeric中删除(3,2)并删除最后2个constriant检查时 这将成功执行。。。但我想在表中添加最后一个检查约束。。当我再次添加时,这将显示一个错误 CREATE TABLE COMPUTER( SerialNumber Int NOT NULL, Make Char(12)

我试图在ms access(SQL视图)中执行此语句,但这在检查约束和数值(3,2)上显示了一个错误。。当我从numeric中删除(3,2)并删除最后2个constriant检查时 这将成功执行。。。但我想在表中添加最后一个检查约束。。当我再次添加时,这将显示一个错误

 CREATE  TABLE COMPUTER(    
    SerialNumber        Int                 NOT NULL,
    Make                Char(12)            NOT NULL,
    Model               Char(24)            NOT NULL,
    ProcessorType       Char(24)            NULL,
    ProcessorSpeed  Numeric(3,2)        NOT NULL,
    MainMemory          Char(15)            NOT NULL,
    DiskSize            Char(15)            NOT NULL,
    CONSTRAINT      COMPUTER_PK             PRIMARY KEY(SerialNumber),
    CONSTRAINT      MAKE_CHECK              CHECK(Make IN ('Dell', 'Gateway', 'HP', 'Other')),
    CONSTRAINT      SPEED_CHECK             CHECK(ProcessorSpeed BETWEEN 1.0 AND 4.0)
    );

我该怎么办?我有MS ACCESS 2007

请尝试使用VBA/ADO运行创建表,即在Visual Basic编辑器中:

Sub CreateMyTable()
    Dim cnn As New ADODB.Connection
    Set cnn = CurrentProject.Connection
    cnn.Execute ("CREATE TABLE ... plus the rest of your create here")
    Set cnn = Nothing
End Sub

令人遗憾的是,使用Access SQL视图可以定义的内容与通过VBA/ADO可以定义的内容之间存在不一致。在这种情况下,
Numeric(3,2)
在accesssql视图中不起作用,我认为约束也不起作用。我假设您已将数据库选项设置为SQL-92 ANSI兼容。

我认为MS Access在MS Access 2013中引入了约束。@GordonLinoff我也在MS Access 2013上尝试过,但出现了相同的错误。