Office中国论坛/Access中国论坛

标题: 如何通过一个值判断复选框选了哪几个? [打印本页]

作者: licho    时间: 2016-3-30 10:18
标题: 如何通过一个值判断复选框选了哪几个?
如何通过一个值判断复选框选了哪几个?
如下图:我上将上面窗口显示的复选框选项的状态存到相应的数据表中。
[attach]58583[/attach]
记得以前学习VB时有个判别方法是通过数列:0,1,2,4,8,16,32,64....通过它们的和来判别的,但代码我还不会写,
求高手指点,最好贴上代码。先谢谢


作者: tmtony    时间: 2016-3-30 10:28
可以用  01010101 这样的格式来保存,或转成二进制(如果嫌麻烦,直接保存为字符串)
如果第一个选中就是1  未选中就是0
作者: licho    时间: 2016-3-30 10:32
本帖最后由 licho 于 2016-3-31 11:14 编辑

删除了

折腾了好久,只解决了一点点:
Dim produce_model(0 To 6) As Boolean
Dim Bin_mark As String
Dim i As Integer

Bin_mark = "0001000" 'bin_mark必须是由0和1组成的7位数字符串,此参数将由数据表传递
For i = 0 To 6
produce_model(i) = CInt(Mid(Bin_mark, i + 1, 1)) '先截取字符串,Mid的第2个参数需从1开始的整数,再将其转换为整数
Next i
Me.Chk_251.Value = produce_model(0)
Me.Chk_701D.Value = produce_model(1)
Me.Chk_F3.Value = produce_model(2)
Me.Chk_F4.Value = produce_model(3)
Me.Chk_F5.Value = produce_model(4)
Me.Chk_oth.Value = produce_model(5)
Me.Chk_oft.Value = produce_model(6)


作者: licho    时间: 2016-3-30 10:33
本帖最后由 licho 于 2016-3-30 10:35 编辑
tmtony 发表于 2016-3-30 10:28
可以用  01010101 这样的格式来保存,或转成二进制(如果嫌麻烦,直接保存为字符串)
如果第一个选中就是1 ...


谢谢tmtony站长给的思路,嗯,确实比我想的简单多了,我试试
作者: licho    时间: 2016-3-31 11:24
忽然想到:能否在复选框的数据来源通过表达式来实现?




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3