有点麻烦。我有一个简单的情况:2个单选按钮,接受或拒绝。与其做IF语句,我觉得有义务做选择语句。
当我浏览代码时,它会到达案例rdbApprove.Value并抱怨该值为空。我认为这不是真的,因此它应该传递给下一个案例。不 - 它取决于它是空的事实。
为了尝试摆脱空值,我尝试了NZ(rdbApprove.Value,False)来尝试告诉它它是假的,但这仍然不起作用。
Select Case True
Case rdbApprove.Value
Case rdbReject.Value
Case Else
MsgBox "ERROR!"
End Select
通常的方法是将单选按钮包含在选项组中。 然后,您的代码可以引用选项组.Value
。
我的表单包括一个名为 Frame15 的选项组,其中包括一个选项值为 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