设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1870|回复: 5
打印 上一主题 下一主题

[窗体] 如何通过一个值判断复选框选了哪几个?

[复制链接]
跳转到指定楼层
1#
发表于 2016-3-30 10:18:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何通过一个值判断复选框选了哪几个?
如下图:我上将上面窗口显示的复选框选项的状态存到相应的数据表中。

记得以前学习VB时有个判别方法是通过数列:0,1,2,4,8,16,32,64....通过它们的和来判别的,但代码我还不会写,
求高手指点,最好贴上代码。先谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2016-3-30 10:28:51 | 只看该作者
可以用  01010101 这样的格式来保存,或转成二进制(如果嫌麻烦,直接保存为字符串)
如果第一个选中就是1  未选中就是0
3#
 楼主| 发表于 2016-3-30 10:32:21 | 只看该作者
本帖最后由 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)

点评

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


谢谢tmtony站长给的思路,嗯,确实比我想的简单多了,我试试
5#
 楼主| 发表于 2016-3-31 11:24:23 | 只看该作者
忽然想到:能否在复选框的数据来源通过表达式来实现?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 08:36 , Processed in 0.111533 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表