Foxtable(狐表)用户栏目专家坐堂 → [求助]局域网中使用项目后的代码执行结果问题


  共有3155人关注过本帖树形打印复制链接

主题:[求助]局域网中使用项目后的代码执行结果问题

帅哥哟,离线,有人找我吗?
huangfanzi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]局域网中使用项目后的代码执行结果问题  发帖心情 Post By:2015/3/9 23:30:00 [只看该作者]

以下代码是由甜版之前帮我写的,我在项目开发时执行非常完美,代码如下:
'工序合并表中的datacolchange事件库存标记生成模块
If e.DataCol.Name= "写入标记"  AndAlso e.DataRow("写入标记")=True Then
    Dim drs As List(Of DataRow) = DataTables("工序合并表").Select("母卷号 = '" & e.DataRow("母卷号") & "'", "卷号,起始时间") '指定母卷号计算
    If drs.Count=1 Then
        drs(0)("库存标记") = True
    Else
        For i As Integer = 1 To drs.Count - 1
            If drs(i)("卷号").Contains(drs(i-1)("卷号")) Then
                drs(i-1)("库存标记") = False
            Else
                drs(i-1)("库存标记") = True
            End If
        Next
        drs(drs.Count-1)("库存标记") = True
    End If
End If

现在项目实施了,在局域网使用中发生了问题,计算造成的偏差,我分析了下原因如下:
二人各操作一张表,假定一张为A,另一张为B,此二张表上分别记录了一种工序流程数据并向工序合并表存入,在存入时调用了上面的代码,执行的结果对于本机来说并没有错,但此结果并没有考虑到别人的操作对工序合并表的影响,也就是说对于表A的操作者来说,所计算的结果是对的,但当表B操作者把数据存入工序合并表后,计算结果就发生了变化,然后二人全执行了SAVE工序合并表的操作后,工序合并表的库存标记实际上错了,有没有办法让上面这段代码在后台执行,也就是说当数据库文件中的工序合并表发生变化时对库存标记进行计算,计算结束后把相关的记录再调入到前台供操作员使用。
[此贴子已经被作者于2015/3/9 23:34:02编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
黄训良
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1100 积分:8985 威望:0 精华:0 注册:2014/3/15 14:36:00
  发帖心情 Post By:2015/3/9 23:50:00 [只看该作者]

参考独占式编辑的相关帮助。

 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/3/10 7:49:00 [只看该作者]

这个不能独占,因为就是要多个人各自输入自己的数据然后合并到一张表里,再通过这张被多人写入数据的表中的代码算出当前库存标记的位置在哪里。

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/3/10 8:34:00 [只看该作者]

这个就是用独占编辑,各自输入不影响,然后再处理输入的数据就不会有差错

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/10 9:08:00 [只看该作者]

1、修改A、B表的时候,马上保存数据到 工序合并表,并保存此表;

 

2、把

 

Dim drs As List(Of DataRow) = DataTables("工序合并表").Select("母卷号 = '" & e.DataRow("母卷号") & "'", "卷号,起始时间") '指定母卷号计算

 

改成

 

Dim drs As List(Of DataRow) = DataTables("工序合并表").sqlSelect("母卷号 = '" & e.DataRow("母卷号") & "'", "", "卷号,起始时间") '指定母卷号计算


 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/3/10 13:38:00 [只看该作者]

甜版的代码我明白了,在计算时直接从后台调用数据,这样可保证计算结果正确,谢谢各位老师的指导。

 回到顶部