【发布时间】:2015-08-04 19:12:11
【问题描述】:
我在尝试使用 ADO 查询数据库时遇到了这个错误。通过四处搜索,我发现这可能意味着我正在使用的 SQL 存在问题。
Dim rs As Object
Dim varGetRows As Variant
Dim sqlStr As String
sqlStr = "SELECT qryEmpRewardsDetail.PBRID, qryEmpRewardsDetail.ActualReward, qryEmpRewardsDetail.ProratedActual, qryEmpRewardsDetail.Adjust, qryEmpRewardsDetail.Total, qryEmpRewardsDetail.Prorated FROM qryEmpRewardsDetail WHERE qryEmpRewardsDetail.ReviewYearID=8 AND qryEmpRewardsDetail.EmployeeID=30 AND qryEmpRewardsDetail.TypeID=1;"
Set rs = CreateObject("ADODB.Recordset")
rs.Open sqlStr, CurrentProject.Connection
varGetRows = rs.GetRows()
我用几种不同的方式重写了它,检查了一百次拼写,然后将其复制并粘贴到一个运行良好的访问查询中。
对于我的一生,我无法弄清楚它可能有什么问题。关于它可能是什么的任何想法或关于如何缩小问题范围的一些建议?
谢谢!
【问题讨论】:
-
假设 qryEmpRewardsDetail 是一个已保存的查询,这可能是“缺失”参数的原因吗?如果您临时更改代码以使用此查询,您是否仍然收到缺少参数的投诉?
SELECT * FROM qryEmpRewardsDetail; -
是的,这给了我同样的错误,但是当我用它创建一个保存的查询时它工作正常。知道为什么会这样吗?
-
如果您向我们展示来自 qryEmpRewardsDetail 的 SQL,我们或许能够解决问题。
-
好吧,我想我明白了。这是我引用的已保存查询的问题。它是不必要的复杂和简化它消除了问题。
标签: ms-access vba ms-access-2013