我一直在爲此工作大約一個小時,並且無法使函數無錯運行。我從this頁面使用Allen Browne的ELOOKUP功能。Allen Browne的ELOOKUP錯誤:太少參數
這裏是代碼當前正在調用的公共職能:
Dim r As Double
Dim Q1 As Double
Dim i1 As Double
r = Me!txtRepeat
Q1 = Me!txtQty1
i1 = ELookup("dblIndex", "zhqry_ActiveGrid_3_Final", "dblRepeat = " & r & " AND dblQuantity <= " & Q1, "dblQuantity DESC")
我得到的錯誤「過幾個參數:預期1」。
我已經通過代碼加強,是能夠提取STRSQL這是:
SELECT TOP 1 dblIndex
FROM zhqry_ActiveGrid_3_Final
WHERE dblRepeat = 12 AND dblQuantity <= 55
ORDER BY dblQuantity DESC;
實際的錯誤是扔在這條線的ELOOKUP功能:
Set rs = db.OpenRecordset(strSql, dbOpenForwardOnly)
我曾嘗試:
- 將方括號中的所有字段名封裝起來。同樣的錯誤。
- 圍繞我的標準值添加單引號。同樣的錯誤。
- 更改的功能行:
Set db = DBEngine(0)(0)
至set db = CurrentDb
,同樣的錯誤。 - 更改
dbOpenForwardOnly
至dbOpenSnapshot
。同樣的錯誤。
我將strSQL值複製到Access的查詢生成器中,它運行正常,所以我知道我構建了一個有效的字符串。我正在使用Access 2010.
我在做什麼錯?
嗯,你有沒有試過'設置rs = db.OpenRecordset(strSql)' –
@GaryEvans剛剛嘗試過,同樣的錯誤。 – MoondogsMaDawg
'zhqry_ActiveGrid_3_Final'(或其子查詢)是否有像例如'形式!myForm的!myValue'?它們在Access中打開查詢時進行評估,但在打開記錄集時不會進行評估。 - 請參閱「ELookup()的限制:... DLookup()可以調用表達式服務來解析參數..」 – Andre