访问VBA运行-时间错误3075
Access VBA Run-time Error 3075
在我开始之前,我知道这里有一大堆 Error 3075 问题,我仔细查看了它们以找到可以帮助我的问题,但我一直做不到。
我有一个用 VBA 编写的 Access 数据库。我正在尝试执行一个 SQL 语句,它只是查询数据库。我收到经典的 3075 错误,这表明我的 SQL 查询无效。我已将查询打印到一个消息框,对我来说它看起来不错,但我使用的是内部联接并且我不太熟悉它们。
有人可以检查我的代码来帮助我吗?
我的SQL相关VBA代码如下:
MsgBox strSQL
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
If rs.RecordCount > 0 Then
rs.MoveLast
lblTotal.Caption = rs.RecordCount
Else
lblTotal.Caption = "0"
End If
非常标准的东西。我没有包括我是如何组成 strSQL
的,因为它基于一组复杂的 if 语句。当我尝试设置 Recordset 时,strSQL 的值为:
我怀疑我引用日期的方式有问题。为了给你一个完整的画面,下面是参考的三个表格:
tblHistory:
tblBooks:
继续:
tblBookTypes:
我已经尝试通过直接删除 SQL 语句来隔离问题。我可以使用像 SELECT * FROM tblHistory
这样的简单语句并向其添加 WHERE
参数来让它工作,但是一旦我引入了内部连接,我又遇到了 3075 错误。
有谁知道我错在哪里?这让我抓狂!
Access 抱怨查询,因为 WHERE
子句位置错误。
您需要 SELECT ... FROM ... INNER JOIN ... WHERE
这样的模式,而不是 SELECT ... FROM ... WHERE ... INNER JOIN
这种模式
换句话说,将 WHERE
子句移动到查询语句的末尾。
在我开始之前,我知道这里有一大堆 Error 3075 问题,我仔细查看了它们以找到可以帮助我的问题,但我一直做不到。
我有一个用 VBA 编写的 Access 数据库。我正在尝试执行一个 SQL 语句,它只是查询数据库。我收到经典的 3075 错误,这表明我的 SQL 查询无效。我已将查询打印到一个消息框,对我来说它看起来不错,但我使用的是内部联接并且我不太熟悉它们。
有人可以检查我的代码来帮助我吗?
我的SQL相关VBA代码如下:
MsgBox strSQL
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
If rs.RecordCount > 0 Then
rs.MoveLast
lblTotal.Caption = rs.RecordCount
Else
lblTotal.Caption = "0"
End If
非常标准的东西。我没有包括我是如何组成 strSQL
的,因为它基于一组复杂的 if 语句。当我尝试设置 Recordset 时,strSQL 的值为:
我怀疑我引用日期的方式有问题。为了给你一个完整的画面,下面是参考的三个表格:
tblHistory:
tblBooks:
tblBookTypes:
我已经尝试通过直接删除 SQL 语句来隔离问题。我可以使用像 SELECT * FROM tblHistory
这样的简单语句并向其添加 WHERE
参数来让它工作,但是一旦我引入了内部连接,我又遇到了 3075 错误。
有谁知道我错在哪里?这让我抓狂!
Access 抱怨查询,因为 WHERE
子句位置错误。
您需要 SELECT ... FROM ... INNER JOIN ... WHERE
SELECT ... FROM ... WHERE ... INNER JOIN
这种模式
换句话说,将 WHERE
子句移动到查询语句的末尾。