繁体   English   中英

在Access中尝试CREATE VIEW会在CREATE TABLE语句中出现“语法错误”

[英]Attempting CREATE VIEW in Access gives “Syntax error in CREATE TABLE statement”

我键入此代码以在预先创建的数据库中创建视图:

CREATE VIEW NHTrips AS
SELECT TripID, TripName, StartLocation, State, Distance, MaxGrpSize, Type, Season
FROM Trip
WHERE State = 'NH' 
;

当我尝试运行Access(2007)响应时出现错误消息: “CREATE TABLE语句中的语法错误。”

为什么?

从ADO / OleDb执行时,Access支持CREATE VIEW 此代码段有效,因为CurrentProject.Connection是一个ADO对象...

Dim strSql As String
strSql = "CREATE VIEW NHTrips AS" & vbCrLf & _
    "SELECT TripID, TripName, StartLocation, State, Distance, MaxGrpSize, Type, Season" & vbCrLf & _
    "FROM Trip" & vbCrLf & _
    "WHERE State = 'NH';"
CurrentProject.Connection.Execute strSql

但是,尝试从DAO执行相同的语句会触发错误#3290 “CREATE TABLE语句中的语法错误”。 ...

CurrentDb.Execute strSql ' CurrentDb refers to a DAO Database object

这意味着如果您尝试从查询设计器执​​行该语句,则会收到相同的错误,因为它使用DAO。

如果您可以使用CREATE VIEW之外的其他内容,请考虑使用CreateQueryDef方法使用SQL SELECT语句创建查询...

strSql = "SELECT TripID, TripName, StartLocation, State, Distance, MaxGrpSize, Type, Season" & vbCrLf & _
    "FROM Trip" & vbCrLf & _
    "WHERE State = 'NH';"
CurrentDb.CreateQueryDef "NHTrips", strSql

关于您尝试创建视图的数据库的信息不多。如果您尝试在访问中创建视图,那么您应该将访问导航栏中的所有查询都视为VIEWS。

这些可以通过操作QueryDefs对象使用VBA创建,请参见此处此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM