【access小品】画地为牢--动态控制有效性规则
时 间:2010-10-22 16:32:39
作 者:todaynew ID:10802 城市:武汉
摘 要:动态控制有效性规则
正 文:
xyh2732 同志问如何将若干相加的控件值都控制在一定范围内,使得其合计限制为万元以下。这是一个动态控制有效性规则的问题,可以通过控件的获得焦点事件加以解决。如果控件比较多的话,需要在窗体的加载事件中,将一个有效性规则设置的函数,赋值给各个控件的获得焦点事件。这样可以省去逐个写控件的焦点事件。在此例中由于控件名称有一定的规律性,因此加载事件可以写的比较简单。如果控件的名称没有规律性,则需要在加载事件中,加入对控件名称筛选的判断语句。
点击下载此附件

Private Sub Form_Load()
Dim ctls As Controls
Dim ctl As Control
Set ctls = Me.Form.Controls
For Each ctl In ctls
If Asc(ctl.Name) >= Asc("A") And Asc(ctl.Name) <= Asc("F") Then
ctl.OnGotFocus = "=AllOnGotFocus('" & ctl.Name & "')"
End If
Next ctl
End Sub
Function AllOnGotFocus(ctlName As String)
Dim ctls As Controls
Dim ctl As Control
Dim S As Single
Set ctls = Me.Form.Controls
For Each ctl In ctls
If Asc(ctl.Name) >= Asc("A") And Asc(ctl.Name) <= Asc("F") Then
If ctl.Name <> ctlName Then
S = S + Nz(ctl.Value, 0)
End If
End If
Next ctl
S = 10000 - S
ctls(ctlName).ValidationRule = "<" & S
End Function
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access自定义消息盒Msg...(04.28)
- Access怎么按每个月份里面...(03.09)
- Access怎么按季度来统计人...(02.26)
- Access怎么按年龄段来统计...(01.26)
- 【Access高效办公】上一年...(12.29)
- 用Access连续窗体制作的树...(11.03)
- 【Access高效办公】上一年...(10.30)
- Access制作的RGB转CM...(09.22)
- Access制作的RGB调色板...(09.15)
学习心得
最新文章
- 用VBA来指定图表中横坐标/纵坐标...(05.25)
- 还在凭感觉建表?Access建表思...(05.25)
- ACCESS视频手机上看瞎眼?用电...(05.24)
- 用SSMS将ACCESS中的表导入...(05.21)
- 自动编号用不好,系统迟早要乱!Ac...(05.21)
- Access原生开发VS快速开发:...(05.20)
- 不用记密码!用Access打造私人...(05.18)
- 如何用SSMS给SQL Serve...(05.16)
- 如何用SSMS在sql serve...(05.16)
- 多用户协作:链接Access和SQ...(05.16)


.gif)
