设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2125|回复: 8
打印 上一主题 下一主题

[窗体] 如何控制输入某个字段后,整行数据就修改不了。

[复制链接]
跳转到指定楼层
1#
发表于 2011-8-11 09:16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现窗体中有字段A B C D 。属性是可编辑。我要设置当D不为空的时候,ABC都不可以修改,
为空的时候就可以修改ABC,要如何控制?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-8-11 09:27:18 | 只看该作者
用成为当前事件
3#
 楼主| 发表于 2011-8-11 09:36:55 | 只看该作者
成为当前事件。能说下具体的操作吗?谢谢!
4#
发表于 2011-8-11 09:49:45 | 只看该作者
Private Sub Form_Current()
if len(nz(me.D))=0 then
me.a.locked=false
me.b.locked=false
me.c.locked=false
else
me.a.locked=true
me.b.locked=true
me.c.locked=true
end if
End Sub
我这个是最笨的办法了。
5#
 楼主| 发表于 2011-8-11 10:04:58 | 只看该作者
还是不行。!!这个办法。我测试了一下不行!郁闷啊
6#
 楼主| 发表于 2011-8-11 10:09:37 | 只看该作者
搞错了点东西,代码是可行的。谢谢!不过这方法有点麻烦。要是我有N个字段不是要加到晕!!
7#
发表于 2011-8-11 11:15:00 | 只看该作者
用"有脏数据时"事件:
Private Sub Form_Dirty(Cancel As Integer)
    If isnull(Me.D)=false Then
        Cancel = True
        MsgBox "不可以更改", vbCritical
    End If
End Sub
8#
发表于 2011-8-11 23:50:56 | 只看该作者
Private Sub Form_Current()
    Me.AllowEdits=IsNull(Me.D)
end if
9#
发表于 2011-8-12 12:05:19 | 只看该作者
beforeupdate事件中判断D非空即撤消修改
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-1 09:20 , Processed in 0.152696 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表