我希望有人可以提供帮助,我是编程新手,我的问题是:
表单上的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,依此类推)
循环访问您的复选框,如下所示:
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"等.很烦人,而不是最好的命名做法.上面的代码将找到表单上的每个复选框,但您可以轻松地将其限制为具有特定标记的所有复选框.