我在MS Access 2013中创建了许多选项组,我正在尝试根据选项组中选择的内容填充表格。因此,如果用户选择选项1,则我希望“文本”而不是它的值ex:“ 1”存储在我的表中。我在AfterUpdate()事件中尝试了以下代码,它工作正常:
Private Sub Frame49_AfterUpdate()
Dim D As Integer
Select Case Me![Frame49]
Case 1
Me![Name] = "text"
D = 1
Case 2
Me![Name] = "text1"
D = 2
Case 3
Me![Name] = "text2"
D = 3
Case 4
Me![Name] = "text3"
D = 4
Case 5
Me![Name] = "text4"
D = 5
End Select
DoCmd.RunCommand acCmdSaveRecord
Rem D = Frame49.Value
End Sub
但是当最终用户回答第一个问题并尝试回答下一个问题时,将选择上一个问题的所有选项。我该如何解决?这是了解我意思的文件:https://drive.google.com/open?id=1WjrAhXCnk961mxBuxS3RYqOUpPA_GsyL
提前感谢。
OptionGroup框架和关联的按钮/复选框必须具有数字值。因此必须绑定到数字类型字段。如果要让控件反映文本字段的选定值,则需要代码来设置OptionGroup框架值。换句话说,将保存的文本转换回数字值。
建议使用单选(选项)按钮而不是复选框。