以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]限制超时录入数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177315)
|
-- 作者:秋夜凉了
-- 发布时间:2022/5/17 15:11:00
-- [求助]限制超时录入数据
请问老师有列为开单日期,这行数据只能在2天内可以录入数据,超过日期就锁定禁止录入,要如何实现呢
|
-- 作者:有点蓝
-- 发布时间:2022/5/17 15:14:00
--
PrepareEdit事件
If e.Row.isnull("开单日期") = false andalso( e.Row("开单日期") < date,today.adddays(-1) orelse e.Row("开单日期") > date,today) Then e.Cancel = True End If
|
-- 作者:秋夜凉了
-- 发布时间:2022/5/17 15:24:00
-- 回复:(有点蓝)PrepareEdit事件If e.Row.isnul...
蓝老师这表达式不能用。
此主题相关图片如下:001.jpg
|
-- 作者:有点蓝
-- 发布时间:2022/5/17 15:40:00
--
If e.Row.isnull("开单日期") = false andalso( e.Row("开单日期") < date.today.adddays(-1) orelse e.Row("开单日期") > date.today) Then e.Cancel = True End If
|
-- 作者:秋夜凉了
-- 发布时间:2022/5/18 8:58:00
-- 回复:(有点蓝)If e.Row.isnull("开单日期") =...
蓝老师,请问,我在表的DataRowLockedChanging 加入 特定人 可以取消锁定的行,怎么没有触发呢。
If e.DataRow.Locked = True Then If User.Name <> "张三" Then e.Cancel = True End If End If
|
-- 作者:有点蓝
-- 发布时间:2022/5/18 9:21:00
--
我测试没有问题,要点击解锁行才会触发
msgbox(1) ‘这个能不能弹出来’ msgbox(e.DataRow.Locked ) If e.DataRow.Locked = True Then msgbox(User.Name) If User.Name <> "张三" Then e.Cancel = True End If End If
|
-- 作者:秋夜凉了
-- 发布时间:2022/5/18 9:50:00
-- 回复:(有点蓝)我测试没有问题,要点击解锁行才会触...
蓝老师,请帮忙看下我哪里搞错了,是不是窗口1按钮弄错了还是表事件。
[此贴子已经被作者于2022/5/18 9:50:43编辑过]
|
-- 作者:有点蓝
-- 发布时间:2022/5/18 10:12:00
--
首先要先锁定,再去解锁,才有意义
其次要使用不同的用户登录测试
|
-- 作者:秋夜凉了
-- 发布时间:2022/5/18 11:12:00
-- 回复:(有点蓝)首先要先锁定,再去解锁,才有意义其...
那老师我用这个PrepareEdit事件
If e.Row.isnull("开单日期") = false andalso( e.Row("开单日期") < date,today.adddays(-1) orelse e.Row("开单日期") > date,today) Then e.Cancel = True End If 后,需要解锁行,怎么弄呢·
|
-- 作者:有点蓝
-- 发布时间:2022/5/18 11:36:00
--
这个代码是按指定条件禁止编辑,不是加锁,无法解锁。
如果不想要禁止编辑,就去掉这个代码,或者更改"开单日期"以符合编辑条件。
|