access vba 第i个窗体怎么表示?

比如第一个复选框是Check1,第二个是Check2,...,那么第i个怎么表示呢?因为需要使用循环来判断第i个check的值是true还是false... 比如第一个复选框是Check1,第二个是Check2,...,那么第i个怎么表示呢?因为需要使用循环来判断第i个check的值是true还是false 展开
 我来答
K_BEAT
推荐于2016-10-22 · TA获得超过1245个赞
知道小有建树答主
回答量:879
采纳率:91%
帮助的人:406万
展开全部

Access VBA Code:

Option Compare Database
Option Explicit

Private Sub cmdSelectAll_Click()
    Dim ctrlCheckBox As Control
    Dim chkItem As CheckBox
    
    For Each ctrlCheckBox In Me.Controls
        If TypeOf ctrlCheckBox Is CheckBox Then
            Set chkItem = ctrlCheckBox
            chkItem.Value = Checked
        End If
    Next
    
    Set ctrlCheckBox = Nothing
    Set chkItem = Nothing
End Sub


运行效果如下所示:


如果你要判断复选框状态可以在循环中使用 If chkItem.Value = Checked Then... 语句。

追问

谢谢你的方法,但是我需要用到每个check对应的编号,因为要每个编号对应一个数组元素赋值,部分代码如下

因为有很多个这样的if导致代码太长,所以想利用check定义一个二维数组来实现。

追答

试一下这段代码:

Private Sub cmdTest_Click()
    Dim i As Integer
    
    For i = 1 To 2
        Me.Controls("Check" & CStr(i)).Value = Checked
    Next
End Sub


PS:上面我只是循环到 2,具体你看情况修改(有几个 CheckBox 就循环到几)!

mfkinfo
2014-12-12 · TA获得超过6349个赞
知道大有可为答主
回答量:4553
采纳率:83%
帮助的人:953万
展开全部
使用controls属性获取所有控件,然后判断控件属于哪个类(type)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式