|
本帖最后由 todaynew 于 2010-1-11 13:38 编辑
有版友问子窗体记录有选择的锁定问题。对连续窗体或数据表窗体的记录进行有选择的锁定,看起来是一个麻烦的事情。因为对应字段的控件名就一个,你要锁定它的话所有的都锁定了,不会只针对一条或者几条记录来锁定。怎么解决这个问题呢?实际上说起来也不难,你可以利用获得焦点事件或者单击事件来处理。因为你获得焦点或者单击时,你可以对当前记录中的某个字段值进行判断,进而做出锁定或者不锁定操作。从结果上来看,此时的操作是对窗体所有记录的操作,但形式上你感觉是对当前记录的操作。
以下这个所编写的子程序,并结合焦点或单击事件来使用就可以达到有选择的锁定子窗体记录的目的:
Private Sub 选择锁定(myctl As Control, B As Boolean)
'功能:有选择的锁定子窗体中的记录
'参数:myctl,作为判断的控件:B=true,myctl锁定,B=false,myctl不锁定
Dim ctls As Controls
Dim ctl As Control
Set ctls = Me.Form.Controls
For Each ctl In ctls
If ctl.ControlType <> acLabel Then
If myctl.Value = True Then
If B = True Then
ctl.Locked = True
Else
If ctl <> myctl Then
ctl.Locked = True
End If
End If
Else
ctl.Locked = False
End If
End If
Next ctl
End Sub
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|