我输入此代码以在预先创建的数据库中创建视图:
CREATE VIEW NHTrips AS
SELECT TripID, TripName, StartLocation, State, Distance, MaxGrpSize, Type, Season
FROM Trip
WHERE State = 'NH'
;
当我尝试运行Access(2007)时,会响应一条错误消息:“CREATE TABLE语句中的语法错误。”
为什么呢?
答案 0 :(得分:3)
从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
答案 1 :(得分:0)