以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  怎样解决数据即时同步的问题  (http://foxtable.com/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
--  
谢谢有点甜老师,方法一设置简便可是人多时还是容易出错,我试试方法二,非常感谢