以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于“独占式编辑之一”中的5、将表事件BeforSaveDatarow代码设置 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=147576) |
-- 作者:fengwenliuyan -- 发布时间:2020/3/19 19:36:00 -- 关于“独占式编辑之一”中的5、将表事件BeforSaveDatarow代码设置 关于“独占式编辑之一”中的5、将表事件BeforSaveDatarow代码设置: If e.DataRow.RowState = DataRowState.Added Then \'如果是新增行 e.DataRow("编辑者") = Nothing Else Dim cmd As New SQLC ommand cmd.Comman dText = "U pdate {员工} Set 编辑者 = Null Where [_Identify] = " & e.DataRow("_Identify") If cmd.ExecuteNon Query = 1 Then e.DataRow("编辑者") = Nothing End If End If 上述代码在保存行之前,清除此行的编辑者列内容,也就是解锁此行。 在保存某行之前,系统会进行一个判断,如果此行所有列内容和最初完全相同,则跳过此行,以提高保存效率。 需求: 现在,我希望每一行都保存,不要系统的这个提高保存效率的方法,有没有办法改? 也就是,不论用户有没有对这一行进行编辑,都默认在此行保存后,编辑者为空, 求帮助?这段代码应该怎么改?
|
-- 作者:fengwenliuyan -- 发布时间:2020/3/20 8:43:00 -- 求帮助 |
-- 作者:fengwenliuyan -- 发布时间:2020/3/20 9:49:00 -- 也就是,若内容未经修改,也不不跳过此行 |
-- 作者:有点蓝 -- 发布时间:2020/3/20 10:19:00 -- 保存前手工情况编辑列内容,比如 tables("表A").current("编辑者") = nothing tables("表A").current.save
|
-- 作者:狐狸爸爸 -- 发布时间:2020/3/20 10:26:00 -- 我无法理解你的意思: 1、既然此行没有进行编辑,每一列内容都和之前相同,还保存什么呢? 2、你要无条件清除编辑者列的内容,实际上上面的代码,就是无条件清除编辑者列内容了啊。
|
-- 作者:fengwenliuyan -- 发布时间:2020/3/20 10:32:00 -- 回复:(狐狸爸爸)我无法理解你的意思:1、既然此行没... 是直接在表事件BeforSaveDatarow中写入: tables("表A").current("编辑者") = nothing tables("表A").current.save ??? 但是不行呢? 保存后,编辑者列完全没有清空?
|
-- 作者:fengwenliuyan -- 发布时间:2020/3/20 10:44:00 -- 回复:(fengwenliuyan)回复:(狐狸爸爸)我无法理解... 而且,我问的是,帮助中的“独占式编辑之一”的问题: 上述代码在保存行之前,清除此行的编辑者列内容,也就是解锁此行。 在保存某行之前,系统会进行一个判断,如果此行所有列内容和最初完全相同,则跳过此行,以提高保存效率。 我只是不想要这个跳过此行,提高保存效率的功能?
|
-- 作者:有点蓝 -- 发布时间:2020/3/20 10:44:00 -- 添加一个按钮,在按钮里写代码 ables("表A").current("编辑者") = nothing tables("表A").current.save |
-- 作者:fengwenliuyan -- 发布时间:2020/3/20 10:46:00 -- 回复:(狐狸爸爸)我无法理解你的意思:1、既然此行没... 独占式编辑之一的功能还要,但是,“跳过此行不保存以提高保存效率”这个功能不要? |
-- 作者:fengwenliuyan -- 发布时间:2020/3/20 10:49:00 -- 回复:(有点蓝)添加一个按钮,在按钮里写代码ables(... 晕了,就是因为不想要按钮操作,客户的需求是: 换行前,保存行,并将编辑者列清空,若正在编辑,则沿用“独占式编辑之一”的功能?
|