Create Table 语句 MS Access 中的语法错误

Syntax error in Create Table Statement MS Access

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

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

这个说法有两个主要问题。

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

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

中使用以下行执行查询
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 通常指的是 Long Text 数据类型,更难处理的数据类型可以带很长的字符串。