以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 怎样解决数据即时同步的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=134770) |
-- 作者:18504175995 -- 发布时间:2019/5/6 11:25:00 -- 怎样解决数据即时同步的问题 我们公司人太多,好多数据都是同一行多人操作 我已经在可能出现数据冲突的地方设置了写入前的判断,可是当两人同时操作这个数据的时候要是还没来得及保存并同步, 那么这个设置条件在另一台电脑就相当于没有促发,所以也就不会执行,比如下面代码: Select Case e.DataCol.name Case "信风铁路淀粉_箱号","信风铁路淀粉_封号","信风铁路_箱号","信风铁路_封号","集港信息_箱号","集港信息_封号" Dim czxq As DataRow = e.DataRow If czxq("是否回箱")=True Then e.cancel = True MessageBox.Show("已经有箱号,不可再分配!") End If End Select 当case条线下的那些列任何一列有数据时,“是否回箱”这个条件会变成true, 其他列就再也加不进去了。 比如"信风铁路淀粉_箱号"有内容了,再往"信风铁路_箱号"里输入内容,就会有不执行提示。 可是如果当前两个操作员同时在这两列操作,都保存,就可以同时存在,这个时候数据就错误了。 我想请教老师,怎么保证在A操作先改动后,B一做冲突数据马上就能反映出来报错? 因为使用的人数很多,不可能大家操作之前把别人工作叫停,等一个操作完了,保存其他人同步再使用,不现实, 也不可能用OpenQQ通知所有改动人,哪行改动了,因为一次性可能要填很多数据,靠人工干预也不行 麻烦老师给想想办法。因为同步问题数据冲突出错好几次了,太可怕了 |
-- 作者:有点甜 -- 发布时间:2019/5/6 11:52:00 -- 方法一:操作完【是否回箱】,你就要保存数据了。然后,你datacolchanged事件,后台查找数据比较
http://www.foxtable.com/webhelp/scr/2955.htm
方法二:独占编辑 http://www.foxtable.com/webhelp/scr/2295.htm
|
-- 作者:18504175995 -- 发布时间:2019/5/6 13:50:00 -- 谢谢有点甜老师,方法一设置简便可是人多时还是容易出错,我试试方法二,非常感谢 |