我不熟悉MS Access SQL命令。谁能告诉我下面的创建声明有什么问题?
创建表提取([WeekID] TEXT(10),[RetailerID] INT,[ItemCode] INT,[SaleType] TEXT(1),[Multiple] INT,[Store] INT,[DateCollected] DATETIME,[Price ] DECIMAL(9,4))
答案 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
通常是指长文本数据类型,更难处理可能需要很长时间的数据类型字符串。