【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)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)