2010-06-09 4 views
0

В моем коде VBA я запрашиваю таблицу SQL. Я хочу добавить инструкцию if/then, поэтому, если выбран один переключатель, он вытягивает определенное значение, и если выбран другой переключатель, он вытягивает другое значение. My if is radiobutton1, а my else - radobutton2, хотя 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," 

Если мой, если/то для field3 (радио-кнопка будет указывать на Field4.)

Как добавить, если/то заявление в этой точке? Я думал, это будет:

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 &, например

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," 

, но это ужасный путь, и вы должны просто передать эти переменные хранимая процедура.

+0

Я пробовал это, но я получил: ошибка времени выполнения '438'; Объект не поддерживает это свойство или метод – Daniel

+0

Eh, просто синтаксическая ошибка. Это (radiobutton2.value = true) Спасибо за помощь! – Daniel

+0

проблем нет, только из любопытства хранятся процедуры с вариантом с этим проектом? – 2010-06-09 14:38:05

Смежные вопросы