2012-10-23 63 views
5

跨張貼在這裏:使用可變附加字段參數

http://www.vbforums.com/showthread.php?696163-Use-variable-to-append-field-parameter&p=4264077#post4264077

我使用ADO檢索從MS Access到Excel中的數據,我想一個IIF語句添加到我的查詢的SELECT部分。我的SQL字符串存儲在一個文本文件中,並且通過ADO附加了任何參數。

我知道如何添加參數在WHERE子句中,甚至可以在SELECT語句這樣的附加參數:

SELECT BA, Iif(QA=[@somestring],[@somestring2], [@somestring3]) 
FROM myData 
WHERE BA = 'some person' 

但是我想做到的是改造一個佔位符[@somestring]爲一個可變長度IIF語句,如:

SELECT BA, [@somestring]  

而且佔位符轉化爲我所用內置函數的字符串:

Iif(QA='Jon Doe', 'Jon', Iif(QA='Jane Doe', 'Jane', 'Nobody')). 

現在,我得到的結果是我傳遞給填充整個字段的參數的文字字符串。因此,Iif語句是爲每個記錄逐字寫出的,而不是由SQL進行評估。

正在嘗試甚至做什麼,或者SQL是否需要在初始命令中預定義Iif語句的Field?

即IIF(QA = [@ somestring],[@ sometstring2],[@ somestring3])

回答

0

這是一個從直切VBForums和粘貼。這是一個社區維基,只打算從「沒有答案」中刪除這個問題。它可以根據需要刪除或修改。


FROM:http://www.vbforums.com/showthread.php?696163-Use-variable-to-append-field-parameter&p=4264077#post4264077

BY:si_the_geek

這是不可能的,你只能用參數來設定值,則 不能做其他的事情與他們(例如作爲字段/表格名稱,功能, 等)。

如果你想改變查詢的其他部分,你需要使用 其他方法(如建立字符串)。在 結尾處的示例中,您應該將其添加到查詢字符串中,並通過參數添加值 。