以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]要实现如下效果代码如何写 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41287) |
||||
-- 作者:sxy_123456 -- 发布时间:2013/10/15 21:24:00 -- [求助]要实现如下效果代码如何写 我想在材料采购申请单中根据产品编号做一个判断,如果预算表中有这个产品编号,材料采购申请单中预算数量自动填写为预算表中的数量,如果没有这个产品编号,自动填写为0,如何实现
[此贴子已经被作者于2013-10-15 21:25:05编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2013/10/15 21:32:00 -- 如下代码,参考帮助 If e.DataCol.Name = "本次数量" Then If e.DataRow.IsNull("工程名称") = False AndAlso e.DataRow.IsNull("产品编号") = False _ AndAlso e.DataRow.IsNull("本次数量") = False AndAlso e.DataRow.IsNull("第几次采购") = False Then Dim sum As Double = e.DataTable.Compute("Sum(本次数量)","工程名称 = \'" & e.DataRow("工程名称") & "\' And 产品编号 = \'" & _ e.DataRow("产品编号") & "\' And 第几次采购 <= \'" & e.DataRow("第几次采购") & "\'") e.DataRow("剩余数量") = e.DataRow("预算数量") - sum End If Else If e.DataCol.Name = "本次单价" Then If e.DataRow.IsNull("工程名称") = False AndAlso e.DataRow.IsNull("产品编号") = False _ AndAlso e.DataRow.IsNull("本次数量") = False AndAlso e.DataRow.IsNull("第几次采购") = False Then Dim sum As Double = e.DataTable.Compute("Sum(本次总价)","工程名称 = \'" & e.DataRow("工程名称") & "\' And 产品编号 = \'" & _ e.DataRow("产品编号") & "\' And 第几次采购 <= \'" & e.DataRow("第几次采购") & "\'") e.DataRow("差额") =- e.DataRow("预算总价") + sum End If Else If e.DataCol.Name = "产品编号" Then Dim fdr As DataRow = DataTables("材料费预算表").Find("产品编号 = \'" & e.DataRow("产品编号") & "\'") If fdr IsNot Nothing Then e.DataRow("预算数量") = fdr("数量") Else e.DataRow("预算数量") = 0 End If End If |
||||
-- 作者:sxy_123456 -- 发布时间:2013/10/16 7:59:00 -- 谢谢,还有一问题我要在相同的工程名称中查找相同的产品编号如何编写代码? |
||||
-- 作者:blackzhu -- 发布时间:2013/10/16 8:04:00 -- 道理一样 以工程名称做条件找到. |