我在Access 2016中有一个宏,使用for循环来检查复选框的值。我想将值提交到表中。 我不希望标准复选框值为true(-1)我想要检查“滚动”计数的值。
e.g。 CB1 CB2 CB3 CB4
如果仅检查CB1和CB4,那么我想向表中提交CB1的值1和CB4的值。
我的循环是:
For i = 1 To 8
If Me.Controls("CP" & i) = -1 Then
"CP" & i = I 'ISSUE IS HERE
Debug.Print Me.Controls("CP" & i)
End If
Next i
如何参考变量值? CP& I = CP1,CP2,CP3,CP4等...
答案 0 :(得分:0)
变量名,是静态的,你不能使用语法“CP”&我要访问一个变量。你必须使用数组。
Dim arrCP(8)
For i=Me.controls("CP" & i)=-1 then
arrCP(i)=i
debug.print arrCP(i)
end if
next i
答案 1 :(得分:0)
也许是这样的,使用countTrue
来确定您想要显示的数字。
Dim countTrue As Long: countTrue = 0
For i = 1 To 8
If Me.Controls("CP" & i) = -1 Then
countTrue = countTrue + 1
Me.Controls("CP" & i) = countTrue
Debug.Print Me.Controls("CP" & i)
End If
Next i