为变量创建动态输入

1 ms-access vba

我希望有人可以提供帮助,我是编程新手,我的问题是:

表单上的40个复选框一个接一个,需要检查布尔值"True"或"False"(由用户选中或取消选中),以便我可以为每个"True"情况运行单独的代码.

我试图在我用于变量的"MS Access复选框参考"中包含一个计数器"i",以给出给定复选框的值.以下代码应该显示我尝试完成的任务,任何人都能指出我正确的方向,而不使用非常先进的解决方案?我认为这是因为它无法在一个步骤中执行所有这一切,或者因为它只将变量的输入看作字符串而不是执行的命令:

Do While Flag = True

Dim CheckboxVar As Boolean
i = i + 1

If i = 40 Then
    Flag = False
End If

CheckboxVar = "Me.Checkbox" & i & ".Value"
AddWhereSQL = SQLBuilder (CheckboxVar)
Loop
Run Code Online (Sandbox Code Playgroud)

(检索Checkbox1的值并将其发送到SQLBuilder,检索Checkbox2并将其发送到SQLBuilder,依此类推)

Cal*_*mDA 5

循环访问您的复选框,如下所示:

Sub Test()
    Dim ctrl As Control

    For Each ctrl In Me.Controls
        If TypeOf ctrl Is CheckBox Then
            If ctrl.Value = True Then
                'do something
            End If
        End If
    Next ctrl
End Sub
Run Code Online (Sandbox Code Playgroud)

将复选框命名为"Checkbox1","Checkbox2"等.很烦人,而不是最好的命名做法.上面的代码将找到表单上的每个复选框,但您可以轻松地将其限制为具有特定标记的所有复选框.