以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 自动计算库存公式 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67981) |
-- 作者:wumingrong1 -- 发布时间:2015/5/7 15:29:00 -- [求助] 自动计算库存公式 我希望实现: 当【出入库登记表】发生变化时,【库存汇总表】的【库存数量】能够进行自动更新; 【库存汇总表】的【库存数量】=【出入库登记表】的【入库】总数量 - 【出库】总数量;条件是两个表的【类型】【厂家】【型号】列内容相同。 我的公式该怎么设置?在哪设置?
|
-- 作者:Bin -- 发布时间:2015/5/7 15:30:00 -- 参考帮助 http://www.foxtable.com/help/topics/1472.htm |
-- 作者:狐狸爸爸 -- 发布时间:2015/5/7 15:31:00 -- 也可以用表达式: http://www.foxtable.com/help/topics/2359.htm |
-- 作者:wumingrong1 -- 发布时间:2015/5/7 16:01:00 -- 此主题相关图片如下:360截图20150507160109966.jpg |
-- 作者:Bin -- 发布时间:2015/5/7 16:04:00 -- 出库列不是数值类型 |
-- 作者:wumingrong1 -- 发布时间:2015/5/7 16:36:00 -- 我采用在表DataColChanged中写以下命令;好像有点问题,能不能帮我看看错在哪里啦? Select Case e.DataCol.Name Case "收支数量" Dim dr As DataRow = e.DataRow Dim pr As DataRow Dim i1,i2 As Integer pr = DataTables("材料库存汇总表").Find( "设备厂家=\'" & dr("设备厂家") & "\' and 设备类型=\'" & dr("设备类型") & "\' and 设备型号=\'" & dr("设备型号") & "\' and 板件名称=\'" & dr("板件名称") & "\' and 板件型号=\'" & dr("板件型号") & "\' and 交直流电=\'" & dr("交直流电") & "\'" ) ’材料库存汇总表盒材料出入库登记表的计算条件 Dim s As String = "设备厂家=\'" & dr("设备厂家") & "\' and 设备类型=\'" & dr("设备类型") & "\' and 设备型号=\'" & dr("设备型号") & "\' and 板件名称=\'" & dr("板件名称") & "\' and 板件型号=\'" & dr("板件型号") & "\' and 交直流电=\'" & dr("交直流电") & "\'" i1 = DataTables("材料出入库登记表").Compute("Sum(收支数量)",s & " And 出入库=\'出库\'") i2 = DataTables("材料出入库登记表").Compute("Sum(收支数量)",s & " And 出入库=\'入库\'") pr("库存数量") = i2-i1 ‘ 材料库存汇总表的库存数量=材料出入库登记表的【入库-出库】 CurrentTable.DataTable.Save() End Select [此贴子已经被作者于2015/5/7 16:46:01编辑过]
|
-- 作者:Bin -- 发布时间:2015/5/7 16:40:00 -- 有什么问题? 出现什么错误? |
-- 作者:wumingrong1 -- 发布时间:2015/5/7 16:43:00 -- 此主题相关图片如下:360截图20150507164233919.jpg |
-- 作者:Bin -- 发布时间:2015/5/7 16:44:00 -- pr = DataTables("材料库存汇总表").Find( "设备厂家=\'" & dr("设备厂家") & "\' and 设备类型=\'" & dr("设备类型") & "\' and 设备型号=\'" & dr("设备型号") & "\' and 板件名称=\'" & dr("板件名称") & "\' and 板件型号=\'" & dr("板件型号") & "\' and 交直流电=\'" & dr("交直流电") & "\'" ) if pr isnot nothing then Dim s As String = "设备厂家=\'" & dr("设备厂家") & "\' and 设备类型=\'" & dr("设备类型") & "\' and 设备型号=\'" & dr("设备型号") & "\' and 板件名称=\'" & dr("板件名称") & "\' and 板件型号=\'" & dr("板件型号") & "\' and 交直流电=\'" & dr("交直流电") & "\'" i1 = DataTables("材料出入库登记表").Compute("Sum(收支数量)",s & " And 出入库=\'出库\'") i2 = DataTables("材料出入库登记表").Compute("Sum(收支数量)",s & " And 出入库=\'入库\'") pr("库存数量") = i2-i1 end if
|
-- 作者:wumingrong1 -- 发布时间:2015/5/7 16:51:00 -- 命令修改成以下内容;还是一样的错误提示。 Select Case e.DataCol.Name Case "收支数量" Dim dr As DataRow = e.DataRow Dim pr As DataRow Dim i1,i2 As Integer pr = DataTables("材料库存汇总表").Find( "设备厂家=\'" & dr("设备厂家") & "\' and 设备类型=\'" & dr("设备类型") & "\' and 设备型号=\'" & dr("设备型号") & "\' and 板件名称=\'" & dr("板件名称") & "\' and 板件型号=\'" & dr("板件型号") & "\' and 交直流电=\'" & dr("交直流电") & "\'" ) If pr IsNot Nothing Then Dim s As String = "设备厂家=\'" & dr("设备厂家") & "\' and 设备类型=\'" & dr("设备类型") & "\' and 设备型号=\'" & dr("设备型号") & "\' and 板件名称=\'" & dr("板件名称") & "\' and 板件型号=\'" & dr("板件型号") & "\' and 交直流电=\'" & dr("交直流电") & "\'" i1 = DataTables("材料出入库登记表").Compute("Sum(收支数量)",s & " And 出入库=\'出库\'") i2 = DataTables("材料出入库登记表").Compute("Sum(收支数量)",s & " And 出入库=\'入库\'") pr("库存数量") = i2-i1 End If CurrentTable.DataTable.Save() End Select [此贴子已经被作者于2015/5/7 16:51:04编辑过]
|