Foxtable(狐表)用户栏目专家坐堂 → 数据计算请教


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

主题:数据计算请教

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


加好友 发短信
等级:二尾狐 帖子:567 积分:4595 威望:0 精华:0 注册:2014/7/3 15:28:00
数据计算请教  发帖心情 Post By:2015/11/28 17:34:00 [只看该作者]

If e.DataCol.name = "物料编号"
    If e.DataRow.IsNull("物料编号") = False
        Dim dr As DataRow = DataTables("其他出入").Find("物料编号 = '" &e.DataRow("物料编号") & "'","_Identify Desc")
        If dr IsNot Nothing Then
            e.DataRow("库存数量") = dr("库存数量") + e.DataRow("初始数据")     
  Else
            e.DataRow("库存数量") = Nothing
        End If
       
    Else
        e.DataRow("库存数量") = Nothing
    End If
End If

 

 

以上代码每次填写初始数据的时候库存数量都不会发生变化,要等其他出入表里面的库存数量发生变化时才变化,这样很不方便,请老师帮忙,怎样才能初始数据发生变化的时候,当前表的库存数量也跟着发生变化啊


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/11/28 17:39:00 [只看该作者]

Select Case e.DataCol.name
    Case "物料编号","初始数据"
        e.DataRow("库存数量") = Nothing
       
        If e.DataRow.IsNull("物料编号") = False Then
            Dim dr As DataRow = DataTables("其他出入").Find("物料编号 = '" &e.DataRow("物料编号") & "'","_Identify Desc")
            If dr IsNot Nothing Then
                e.DataRow("库存数量") = dr("库存数量") + e.DataRow("初始数据")
            End If
        End If
    End If
End Select

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


加好友 发短信
等级:二尾狐 帖子:567 积分:4595 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2015/11/28 17:53:00 [只看该作者]

这样是发生了变化,可是还不理想,因为如果其他出入没有行的时候,填写初始数据后,库存数量也不会发生变化,请教,谢谢


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/11/28 18:05:00 [只看该作者]

Select Case e.DataCol.name
    Case "物料编号","初始数据"
        e.DataRow("库存数量") = e.DataRow("初始数据")
        If e.DataRow.IsNull("物料编号") = False Then
            Dim dr As DataRow = DataTables("其他出入").Find("物料编号 = '" &e.DataRow("物料编号") & "'","_Identify Desc")
            If dr IsNot Nothing Then
                e.DataRow("库存数量") = dr("库存数量") + e.DataRow("初始数据")
            End If
        End If
    End If
End Select


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


加好友 发短信
等级:二尾狐 帖子:567 积分:4595 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2015/11/28 18:14:00 [只看该作者]

非常感谢,试用就是我所要,谢谢了,再请教下,如果改成以下呢:

If e.DataCol.name = "物料编号"
    If e.DataRow.IsNull("物料编号") Then
        e.DataRow("库存数量") = Nothing
    Else
        e.DataRow("库存数量") = e.DataRow("初始数据") + DataTables("入库明细").Compute("sum(入库数量)", "物料编号 = '" &e.DataRow("物料编号") & "'") - DataTables("散件明细").Compute("sum(出库数量)", "物料编号 = '" &e.DataRow("物料编号") & "'") - DataTables("领料明细").Compute("sum(出库数量)", "物料编号 = '" &e.DataRow("物料编号") & "'")
    End If
End If


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


加好友 发短信
等级:二尾狐 帖子:567 积分:4595 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2015/11/28 18:24:00 [只看该作者]

Select Case e.DataCol.name
    Case "物料编号","初始数据"
        e.DataRow("库存数量") = e.DataRow("初始数据")
        If e.DataRow.IsNull("物料编号") = False Then
           
                 e.DataRow("库存数量") = e.DataRow("初始数据") + DataTables("入库明细").Compute("sum(入库数量)", "物料编号 = '" &e.DataRow("物料编号") & "'") - DataTables("散件明细").Compute("sum(出库数量)", "物料编号 = '" &e.DataRow("物料编号") & "'") - DataTables("领料明细").Compute("sum(出库数量)", "物料编号 = '" &e.DataRow("物料编号") & "'")

            End If
End Select

 

 

请教代码这样写有什么问题吗,试用也可以达到效果,谢谢指导


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/29 13:14:00 [只看该作者]

回复楼上,代码没问题。

 回到顶部