vba - MS Access 2016 引用了多个同名但后缀不同的文本框(例如 Cal1...Cal33)
问题描述
我有一个简单的 for/next 循环,针对两个组合 ctrls(cbofrom 和 cboto)评估 33 个表单备忘录字段(日历框)(Cal1...Cal33)。cbo 值只是 1 到 33。目的是在备注字段 (Cal1...Cal33) 等于 cboto 时简单地将文本从一个备注字段移动到另一个备注字段:
Dim i As Integer
For i = 1 To 33
i = 1
If Me.Cal&(i) = Me.cboto Then Me.Cal&(i) = me.cal & Me.cbofrom
Next I
VBA 似乎不想连接字段的名称 (Cal1...Cal33) 作为循环的一种方式。任何的意见都将会有帮助。 添加了日历布局的图像 - 参见第 5 块 (Cal5)
解决方案
Controls
您可以通过窗体集合中的名称引用控件。与控制Me.Controls("Cal" & 27)
相同Me.Cal27
Dim i As Integer
For i = 1 To 33
'i = 1 ' do not change the value of your loop variable here
With Me.Controls("Cal" & i)
If .Value = Me!cboto.Value Then
.Value = Me.Controls("Cal" & Me!cbofrom.Value).Value
End If
End With
Next i
推荐阅读
- azure - 如何使用来自 secrets.json Azure 应用服务配置的嵌套值
- python - 我希望在单击复选按钮之前将框架默认为隐藏
- maven - 上传新包后无法搜索
- django - 我应该如何避免这种竞争条件?
- javascript - 使用reduce创建对象的说明
- python - 我是否过度简化了“如果一个字符串是一次编辑”的概念?
- git - Why is git push heroku
:main not working? - swift - 更改 @Published 值会在视图中触发 Init
- javascript - 处理嵌套/递归函数中的内存溢出
- python - Rust Numpy 库 - 按行迭代:无法构建返回行而不是单个值的 NpySingleIterBuilder::readwrite