ms-access - 访问:禁用组合框
问题描述
我的表单中有 5 个组合框,我希望用户只能选择 2 个。一旦选择了 2 个,其他 3 个将被禁用?我是怎么做的?我知道你可以做一个组合框并通过 afterupdate 禁用其余的组合框,如下所示。感谢你的帮助!:)
Private Sub cboOR_AfterUpdate()
Me.cboA.Enabled = False
End Sub
解决方案
将此 Sub 放入表单的模块中
Private Sub changeStateOfCB()
Dim nameChB() As String
Dim cMax As Long
Dim ctrl As Control
Dim cValued As Long
Dim nameCurr As Variant
' names of CB
nameChB = Split("ComboName1#ComboName2#ComboName3#ComboName4#ComboName5", "#")
' max allowed values
cMax = 2
' counting with values
For Each nameCurr In nameChB
If Not Me.Controls(nameCurr).Value Is Null Then
cValued = cValued + 1
End If
Next
' disabling if needed
For Each nameCurr In nameChB
If Not Me.Controls(nameCurr).Value Is Null Then
Me.Controls(nameCurr).Enabled = (cValued < cMax)
End If
Next
End Sub
根据您nameChB
在行中的名称更改字符串中的名称。并为每个组合框创建AfterUpdate
带有调用的事件过程
changeStateOfCB
推荐阅读
- android - 如何在 Android Studio 中全局创建列表数组并在列表视图中显示内容?
- google-cloud-platform - 在“选择”列表中看不到组织,甚至在组织中拥有“组织管理员”权限
- kql - kusto查询语言中如何将查询结果数据转换为json格式
- javascript - 反应钩子从数组中删除项目并将其添加到另一个数组
- javascript - 在 JavaScript 中用前导零填充数字?
- ssl - 在为一个 strpi 项目运行 npm i 时,证书链中的自签名证书
- c# - Xamarin Android 中应用程序数据的路径
- excel - 如何防止excel将值转换为日期?
- php - laravel 将金额添加到循环中的下一个父级
- json - jq - 在一行中从 json 表中检索特定列的值