以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  就是如何写 符合型号 批次 两个条件的累加 的代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=38067)

--  作者:嘉华
--  发布时间:2013/7/18 22:08:00
--  就是如何写 符合型号 批次 两个条件的累加 的代码
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看 
If e.DataCol.Name = "地板型号" Then
        e.DataRow("本批次入库总件数") = DataTables("成品入库明细表").Compute("Sum(计算件数)","[地板型号] = \'" & e.NewValue & "\'")
    End If
    If e.DataCol.Name = "计算件数" Then
        Dim pr As DataRow
        pr = DataTables("大板管理").Find("地板型号= \'" & e.DataRow("地板型号") & "\'")
        If pr IsNot Nothing Then
            pr("计算件数")= pr("计算件数") + e.NewValue - e.OldValue
        End If
    End If



上面一个条件地板型号判定可以了,如何再加个条件  “批次”判断       如何加代码  
           就是如何写 : 查找出"成品入库明细表中" ( 型号,批次)符合"大板管理"表中(型号,批次)这两个条件的明细表的计算件数的累加 给大板管理中的本批次入库总件数 列      
[此贴子已经被作者于2013-7-18 23:05:05编辑过]

--  作者:Bin
--  发布时间:2013/7/19 8:57:00
--  
 If e.DataCol.Name = "地板型号" or e.DataCol.Name = "批次" Then
 e.DataRow("本批次入库总件数") = DataTables("成品入库明细表").Compute("Sum(计算件数)","[地板型号] = \'" & e.datarow("地板型号") & "\' and [批次]=\'" & e.datarow("批次") & "\'")
end if

--  作者:嘉华
--  发布时间:2013/7/19 13:28:00
--  还是不行

还是计算不出来上传附件你帮我看下

另外出现运行错误

.NET Framework 版本:2.0.50727.3053
Foxtable 版本:2013.7.12.1
错误所在事件:
详细错误信息:
The row doesn\'t belong to the same DataSet as this relation.

 

顺便帮我改下 新增一行的时候跳出来

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:地板生产进销存管理系统.table


--  作者:Bin
--  发布时间:2013/7/19 14:14:00
--  
1.本批次入库总件数 是表达式列,表达式列是不能赋值的
2.你批次取值为什么是订单号?那当然统计不到数据.

--  作者:lsy
--  发布时间:2013/7/19 14:57:00
--  

你这错误犯的,太马虎了,太伤人脑筋了。

按照这种趋势下去,你做的项目,漏洞百出,没法用。


--  作者:嘉华
--  发布时间:2013/7/19 22:32:00
--  
爱过才知酒浓,恨过才知情深,   继续深入深入 !!!       后来用关联搞定了