有点麻烦。我有一个简单的情况:2个单选按钮,接受或拒绝。我没有做IF语句,而是有义务做Select语句。
当我浏览我的代码时,它会转到Case rdbApprove.Value并抱怨该值为null。我认为这不是真的,因此它应该传递给下一个案例。不 - 它是因为它是空的。
为了尝试摆脱空值,我尝试了新西兰(rdbApprove.Value,False)试图告诉它它是假的,但仍然无效。
Select Case True
Case rdbApprove.Value
Case rdbReject.Value
Case Else
MsgBox "ERROR!"
End Select
答案 0 :(得分:3)
通常的做法是在选项组中包含单选按钮。然后,您的代码可以引用选项组.Value
。
我的表单包含一个名为 Frame15 的选项组,其中包含一个" Approve" 选项值为1的单选按钮,以及"拒绝" 选项值为2的按钮。
我还添加了一个命令按钮来检查选项组.Value
。这是它的点击事件过程。
Private Sub cmdOptionValue_Click()
Dim strPrompt As String
Select Case Me.Frame15.value
Case 1
strPrompt = "approved"
Case 2
strPrompt = "rejected"
Case Else
If IsNull(Me.Frame15.value) Then
strPrompt = "Null"
Else
strPrompt = "this should not happen"
End If
End Select
MsgBox strPrompt
End Sub