创建表语句MS Access中的语法错误

时间:2018-04-11 20:52:57

标签: ms-access ms-access-2010 ms-access-2013 ms-access-2016

我不熟悉MS Access SQL命令。谁能告诉我下面的创建声明有什么问题?

创建表提取([WeekID] TEXT(10),[RetailerID] INT,[ItemCode] INT,[SaleType] TEXT(1),[Multiple] INT,[Store] INT,[DateCollected] DATETIME,[Price ] DECIMAL(9,4))

1 个答案:

答案 0 :(得分:0)

这句话有两个主要问题。

首先,Extract是Access SQL中的reserved word。这意味着你必须用[]括号括起来。

其次,在ANSI模式下执行SQL时,仅在Access SQL中支持DECIMAL数据类型。您可以在this answer中看到如何将数据库切换到ANSI模式,或者您可以使用以下行在即时窗口中执行查询:

CurrentProject.Connection.Execute "Create Table [Extract]( [WeekID] TEXT(10) , [RetailerID] INT , [ItemCode] INT , [SaleType] TEXT(1) , [Multiple] INT , [Store] INT , [DateCollected] DATETIME , [Price] DECIMAL(9,4) )"

此外,我建议在查询中使用NVARCHAR而不是TEXT。只要指定小于255的字段大小就没有功能差异,但TEXT通常是指长文本数据类型,更难处理可能需要很长时间的数据类型字符串。