2010-06-09 7 views
0

Dans mon code VBA, j'interroge une table SQL. Je veux ajouter une instruction si/alors, si un bouton radio est sélectionné, il tire une certaine valeur, et si l'autre bouton radio est sélectionné, il tire une valeur différente. Mon if est radiobutton1, et mon autre est radiobutton2, bien que l'autre puisse juste être de prendre l'autre valeur.Si/Alors avec RadioButton

est ici la partie spécifique du code:

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

Si mon si/est alors pour field3 (le bouton radio pointera vers FIELD4.)

Comment ajouter if/then à ce stade? Je pensais que ce serait:

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

Que devrais-je faire?

Répondre

1

vous devriez utiliser des procédures stockées.

Il serait probablement rendre votre code un peu plus propre à construire juste deux déclarations différentes strsql & par exemple

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

mais c'est une façon terrible et vous devriez juste passer ces variables à un proc stocké.

+0

J'ai essayé mais je me suis: erreur d'exécution « 438 »; L'objet ne supporte pas cette propriété ou méthode – Daniel

+0

Eh, juste une erreur de syntaxe. C'est (radiobutton2.value = true) Merci pour l'aide! – Daniel

+0

pas de problème, juste par curiosité sont des procédures stockées une option avec ce projet? –