Ms access 选择带有单选按钮的案例-有问题,带有空值

Ms access 选择带有单选按钮的案例-有问题,带有空值,ms-access,vba,Ms Access,Vba,有点麻烦。我有一个简单的情况:2个单选按钮,接受或拒绝。我觉得有义务做Select语句,而不是做IF语句 当我遍历代码时,它会进入案例rdbaprove.Value,并抱怨该值为null。我想这不是真的,因此应该转到下一个案例。不,它取决于它是空的这一事实 为了尝试去除空值,我尝试了NZ(rdbaprove.value,False),尝试告诉它它是False,但仍然不起作用 Select Case True Case rdbApprove.Value Case rdbRejec

有点麻烦。我有一个简单的情况:2个单选按钮,接受或拒绝。我觉得有义务做Select语句,而不是做IF语句

当我遍历代码时,它会进入案例rdbaprove.Value,并抱怨该值为null。我想这不是真的,因此应该转到下一个案例。不,它取决于它是空的这一事实

为了尝试去除空值,我尝试了NZ(rdbaprove.value,False),尝试告诉它它是False,但仍然不起作用

Select Case True
    Case rdbApprove.Value

    Case rdbReject.Value

    Case Else
        MsgBox "ERROR!"

End Select

通常的做法是将单选按钮包含在选项组中。然后,您的代码可以引用选项组
.Value

我的表单包括一个名为Frame15的选项组,其中包括一个选项值为1的“批准”单选按钮和一个选项值为2的“拒绝”按钮

我还添加了一个命令按钮来检查选项组
.Value
。下面是它的单击事件过程

Private Sub-cmdOptionValue\u单击()
作为字符串的Dim strPrompt
选择Case Me.Frame15.value
案例1
strcompt=“已批准”
案例2
strcompt=“已拒绝”
其他情况
如果为null(Me.Frame15.value),则
strcompt=“Null”
其他的
strcompt=“这不应该发生”
如果结束
结束选择
MsgBox strcompt
端接头

为什么你“觉得有义务做选择性陈述”?您的代码在我看来有点奇怪-通常在
Select案例中
selected for值是运行时确定的值,可能的选项是常量;不过,您的代码的情况正好相反。就我个人而言,对于你的情况,我只想说一句简单的
If
。单选按钮不应该是开的还是关的,你不应该只关心“批准”按钮是开的吗?那么,如果说
if(rdbaprove)然后blahblah结束if
+1怎么样?因为你的答案是正确的,但如果代表49K+我会期待比“Frame15”更好的东西。来吧,伙计;o) 呜!你是对的;我不会“真的”那样做;-)