我正在尝试在SQL视图中的访问中创建视图,但是我遇到了CREATE TABLE的语法错误,该错误突出显示了VIEW这个词。这是通过Office 365进行的Access 2016中的更新(截至2/11/2019)。 SELECT语句本身可以工作,但CREATE VIEW命令则无效。我的书(数据库管理的概念)专为与Access一起使用而设计。我的代码是这样的:
CREATE VIEW TopLevelCust AS
SELECT CustomerNum, CustomerName, Street, Balance, CreditLimit
FROM Customer
WHERE CreditLimit>=10000
;
答案 0 :(得分:1)
根据询问者和其他用户的说法,在数据库选项中启用ANSI-92 SQL将使您能够执行DDL语句CREATE VIEW
。
文件>选项>对象设计器>查询设计。
根据Wolfgang的说法,这实际上会创建一个查询。
<SoapBox>
令您惊讶的是,您的文本引用要求您执行Access中默认未启用的语句,尤其是没有特别提示的时候,您在创建数据库之前需要启用特殊选项。 em>¯\ _(ツ)_ /¯
</SoapBox>
答案 1 :(得分:1)
如Lynn回答中所述,如果要执行此查询,则可以在启用SQL Server兼容语法之后执行此操作。
但是,您也可以使用与Access数据库的OLEDB连接来执行查询。
您甚至可以使用VBA和已预先设置的CurrentProject.Connection
对象执行此操作:
CurrentProject.Connection.Execute "CREATE VIEW Query1 AS SELECT 1"
在不打开SQL Server兼容语法的情况下,从Access本身执行的DDL语句受到很大限制(例如,您也不能使用Decimal数据类型)。但是这些DDL语句并不是真正要从Access本身执行的,VBA提供了更好的工具来创建查询(例如,还允许创建传递查询)。