以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]审核后不得修改数据的代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43683) |
-- 作者:ZHX241806 -- 发布时间:2013/12/12 18:42:00 -- [求助]审核后不得修改数据的代码 我表中有逻辑列(即审核列)A,数据列B,数据列C,当数据列B和C填好数据后,在逻辑列A中打勾后,数据列B和C中的数据就无法修改,如果需要修改,必须先去掉逻辑列中的勾再进行修改,请问高手们代码如何写,谢谢!!! |
-- 作者:sloyy -- 发布时间:2013/12/12 19:16:00 -- If Tables("表A").current("A") =True Then Dim cl As Col cl = Tables("表A").Cols("B") cl.AllowEdit = False End If |
-- 作者:有点甜 -- 发布时间:2013/12/12 19:17:00 -- 参考 [此贴子已经被作者于2013-12-12 19:16:45编辑过]
|
-- 作者:ZHX241806 -- 发布时间:2013/12/12 19:29:00 -- 上面这个代码刚试过,如果我需要修改数据,那就无法修改了,我希望去掉逻辑列的勾即可以修改数据,请问代码如何写? |
-- 作者:有点甜 -- 发布时间:2013/12/12 19:35:00 -- 参考3楼的例子 If (e.Col.Name = "B" OrElse e.Col.name = "C") AndAlso e.Row("A") = True Then e.Cancel = True End If |
-- 作者:ZHX241806 -- 发布时间:2013/12/12 19:45:00 -- 请问有点甜,我刚试过不行,不知为什么,请帮忙再看看,谢谢!!! |
-- 作者:有点甜 -- 发布时间:2013/12/12 19:46:00 -- 写到prepareEdit事件里去。 |
-- 作者:有点甜 -- 发布时间:2013/12/12 19:47:00 -- 如果不是在表里直接修改的,你要写 datacolchanging的代码,具体内容都在3楼了。 |
-- 作者:ZHX241806 -- 发布时间:2013/12/12 19:58:00 -- 太谢谢甜了.请问如果在表直接修改的话,那三楼的代码写在那里最好呢! |
-- 作者:有点甜 -- 发布时间:2013/12/12 20:08:00 -- 回复9楼,写到prepareEdit事件比较好。用5楼的代码。 |