2013-06-30 355 views
0

我有一個帶有列表框的表單,我想用查詢結果填充(作爲Access Query,而不是VBA)。該查詢具有基於主鍵的Where子句。爲了理解這個概念,我對PK(在查詢條件中)的價值進行了硬編碼 - 而且這種工作起作用了。我真正需要做的是製作一個變量,以便該值將取決於應用中發生的事情。謝謝!查詢變量Where Where子句

回答

1

您可以在查詢的WHERE子句中調用全局函數。

您將在VBA中編寫一個函數,例如

Public Function ValueForQuery() as Long 
    ValueForQuery = x 'x will be the value you want to pass from the app 
End Function 

在查詢:

SELECT * FROM SomeTable WHERE PK = ValueForQuery() 
+0

謝謝 - 我想試試。我雖然可能有辦法完全在VBA之外完成。 – DaveL

+0

我有一個小問題。只是爲了確保我明白 - 在上面的查詢中,是否可以在「訪問查詢」中的條件中?也就是說,VBA中沒有嵌入SQL。因爲當我這樣做並運行時,它會提示我輸入一個名爲「輸入參數值」和字段(函數)名稱的值。 – DaveL

+0

一直在調整一下,但現在我遇到的問題是查詢似乎無法識別該函數。當打開查詢時,我得到msg:「在'xyz'表達式中的未定義函數。但是,當僅僅打開查詢時,這可能是有意義的。這是否表明這個功能可能不是'全球性'? – DaveL