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 数据类型,更难处理的数据类型可以带很长的字符串。
我不太熟悉 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 数据类型,更难处理的数据类型可以带很长的字符串。