我一直在努力解决这个令人烦恼的关于点击时选择选项按钮的特殊情况。
以下是我的代码。
Private Sub frame_membershiptype_Click()
On Error GoTo Err_frame_membershiptype_Click
Select Case frame_membershiptype
Case option_standard.Value
option_standard.SetFocus
Me.MembershipType = "Standard"
Case option_concession.Value
option_concession.SetFocus
Me.MembershipType = "Concession"
Case option_concession.Value
option_lifetime.SetFocus
Me.MembershipType = "Lifetime"
End Select
Exit_frame_membershiptype_Click:
Exit Sub
Err_frame_membershiptype_Click:
MsgBox Err.Description
Resume Exit_frame_membershiptype_Click
End Sub
我在一个选项组中有3个选项按钮。我会说,如果选择了其中一个选项按钮(通过引用其Value属性),我将把焦点设置在该特定选项按钮上,并更新其背后的基础表记录。
但是出现错误,说你没有为这些选项按钮分配值。这让我感到困惑,因为根据具有optionbutton.value属性的MSDN documentation,我会告诉我是否选择了选项按钮。我发现各种在线教程告诉我它以这种方式对我有用......但它对我不起作用!
为什么呢?我很困惑。当然,实现简单的按钮复选框检查并不困难。
答案 0 :(得分:1)
在Access窗体中处理Option Button
控件的常规方法是使它们成为Option Group
(a.k.a。Frame
)控件的子控件。您可以从.Value
控件的Option Group
属性中检索所选选项,如下所示:
Option Compare Database
Option Explicit
Private Sub btnSave_Click()
Dim msg As String
If IsNull(Me.frame_membershiptype.Value) Then
msg = "No membership type has been selected."
Else
msg = "Membership type selected: "
Select Case Me.frame_membershiptype.Value
Case 1
msg = msg & "Standard"
Case 2
msg = msg & "Concession"
Case 3
msg = msg & "Lifetime"
Case Else
msg = msg & "Unknown"
End Select
End If
MsgBox msg
End Sub