我已經創建了一個函數,該函數提供基於用戶選擇的值。我想在另一個查詢中使用函數的輸出。使用VBA的用戶定義函數輸出作爲訪問查詢的輸入
我的功能是: -
Public Function provisionvariable() As String
For Each sItem In Forms![Access Form].Provision.ItemsSelected
v_provision = "" & Forms![Access Form].Provision.Column(0, sItem) & ""
Provision = Provision & "" + v_provision + ","
'MsgBox Provision
Next
Provision = Left(Provision, Len(Provision) - 1)
provisionvariable = Provision
MsgBox provisionvariable
End Function
函數的輸出是BBNI,FP
我想使用的輸出,其中條件接入查詢
我的查詢是
***SELECT DISTINCT quarter, provision, [currencycode]+'-not found in Master' AS Comment
FROM t_00_unearned_unincepted_alloc_basis AS inp
WHERE **provision in (provisionvariable()) AND**
NOT EXISTS
(SELECT 1
FROM t_01_le_currency_master key1
WHERE inp.[group_stat]=key1.[group_stat] AND
inp.le=key1.le AND
inp.[currencycode]=key1.[original_currency]);***
現在問題是功能的輸出是BBNI,FP,但訪問將它作爲單個字符串,即查詢中的'BBNI,FP'。
是否有可能把它作爲兩個字符串( 'bbni', '計劃生育'),而不是 'BBNI,FP'
任何建議非常讚賞
感謝
我在做我的功能。例如,如果函數的輸出是BBNI,FP。當我在我的訪問查詢中使用函數provisionvariable()時,它將'BBNI,FP'作爲單個字符串並且查詢不顯示任何輸出。 – Mohit 2014-10-07 10:43:04
我想要的是查詢應該把它作爲兩個分隔的字符串,由CSV分隔 – Mohit 2014-10-07 10:51:25
@TomRobinson建議的是正確的。你的查詢只有在子句看起來像「WHERE(((Provision(提供)In('BBNI','FP','etc','etc')))...」 你需要逗號,你需要用單引號分隔每個字符串(或雙引號,這會變得混亂)。 – 2014-10-07 16:49:30