2010-06-09 88 views
0

在我的VBA代碼中,我查詢了一個SQL表。我想添加一個if/then語句,所以如果選擇了一個單選按鈕,它會拉取一個特定的值,如果選擇了另一個單選按鈕,則會拉出一個不同的值。我的if是radiobutton1,我的else是radiobutton2,儘管else可以取其他值。If/Then with RadioButton

下面的代碼的特定部分:

strSQL = strBeginSQL1(strRiskSegment, "Detail") 
strSQL = strSQL & "a.field1, b.field1, " 
strSQL = strSQL & "a.field2, b.field2, a.field3, b.field3," 

如果我的if/then是場3(單選按鈕將指向字段4)。

如何添加的if/then語句在這一點上?我認爲它會是:

strSQL = strBeginSQL1(strRiskSegment, "Detail") 
strSQL = strSQL & "a.field1, b.field1," 
strSQL = strSQL & "a.field2, b.field2, If radiobutton2.true then a.field4, b.field4, else a.field3, b.field3," 
strSQL = strSQL & "a.field5, b.field5," 

我該怎麼做?

回答

1

你應該使用存儲過程。

它可能使你的代碼乾淨了一點,只是搭建例如

strSQL = strBeginSQL1(strRiskSegment, "Detail") 
strSQL = strSQL & "a.field1, b.field1," 
if (radiobutton2.value = true) then 
strSQL = strSQL & "a.field4, b.field4" 
else if (radiobutton3.value = true) 
strSql = strSQL & "a.field3, b.field3" 
endif 
strSQL = strSQL & "a.field5, b.field5," 

兩個不同的STRSQL &陳述但是這是一個可怕的方式,你應該只是傳遞這些變量的存儲過程。

+0

我試過但我得到了: 運行時錯誤'438'; 對象不支持此屬性或方法 – Daniel 2010-06-09 14:11:39

+0

Eh,只是語法錯誤。它是(radiobutton2.value = true)感謝您的幫助! – Daniel 2010-06-09 14:13:57

+0

沒問題,只是出於好奇,存儲過程是這個項目的一個選項嗎? – 2010-06-09 14:38:05