设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: mrl
打印 上一主题 下一主题

[窗体] [求助]如何锁定窗体上的记录不被修改

[复制链接]
11#
发表于 2006-5-7 23:53:00 | 只看该作者
顶上 凑字
12#
发表于 2006-5-8 05:27:00 | 只看该作者
如果你窗体上要锁定的控件名字没有什么命名规律可言,你就在按钮事件上一个一个写上锁定(或解锁)语句。比如:

me.text2.Locked = True

me.comb3.Locked = True

me.text5.Locked = True

.........

这样还用考虑什么其他的
要是有些控件的值是通过vba赋值时就挡不住了,如果要挡住vba赋值又要加判断了……


如果用窗体AllowEdits属性进行锁定,这样没有绑定的控件都锁定了,达不到要求
13#
发表于 2006-5-8 05:58:00 | 只看该作者
可以在控件属性的数据里把是否锁定设成是和是否可用设成否就可以了,是否可用可以禁止让该控件获取焦点,看你的需要了。
14#
发表于 2006-5-9 01:28:00 | 只看该作者
以下是引用mrl在2006-5-7 14:30:00的发言:



如果是按我的你的思路时,要是有些控件的值是通过vba赋值时就挡不住了,如果要挡住vba赋值又要加判断了……


如果用窗体AllowEdits属性进行锁定,这样没有绑定的控件都锁定了,达不到要求。





VBA是你自己写的,又不是用户写的,要挡住VBA赋值干什么?


一定要做到像你说的这样,最简单的就是直接更改窗体数据源,变更数据集的打开方式为ReadOnly。







[此贴子已经被作者于2006-5-8 17:28:47编辑过]

15#
 楼主| 发表于 2006-5-9 03:34:00 | 只看该作者
以下是引用LucasLynn在2006-5-8 17:28:00的发言:


一定要做到像你说的这样,最简单的就是直接更改窗体数据源,变更数据集的打开方式为ReadOnly。

这个方法我都试过,这个亦是最好的方法。可惜在更改数据集打开方式时总是跳到第一个记录上而不是当前记录,就这个问题不会处理,请教版主有没有办法!

16#
发表于 2006-5-9 04:54:00 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
17#
 楼主| 发表于 2006-5-9 05:32:00 | 只看该作者
如果放进了子窗体,原来窗体上更新前事件上用了 If Dirty Then Cancel = True 那么编辑时焦点就无法移到主窗体上了……


[此贴子已经被作者于2006-5-8 21:38:33编辑过]

18#
发表于 2006-5-9 06:18:00 | 只看该作者
如果放进了子窗体,原来窗体上更新前事件上用了 If Dirty Then Cancel = True 那么编辑时焦点就无法移到主窗体上了……

如此设计后,只有子窗体绑定数据了,怎么还要考虑主窗体Dirty问题呢?
19#
 楼主| 发表于 2006-5-9 06:32:00 | 只看该作者
以下是引用gxlishuxin在2006-5-8 22:18:00的发言:






如此设计后,只有子窗体绑定数据了,怎么还要考虑主窗体Dirty问题呢?

是子窗体上的更新前事件上用了 If Dirty Then Cancel = True
20#
发表于 2006-5-9 07:07:00 | 只看该作者
可用如下的代码实现你的要求

'按钮单击事件

Private Sub Command13_Click()
Me.AllowEdits = True
End Sub

'未绑定的控件退出事件

Private Sub Text10_Exit(Cancel As Integer)
Me.AllowEdits = False
End Sub

'未绑定的控件获得焦点事件

Private Sub Text10_GotFocus()
Me.AllowEdits = True
End Sub


[此贴子已经被作者于2006-5-8 23:09:43编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 12:54 , Processed in 0.083442 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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