以文本方式查看主题

-  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,如何实现
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.zip

[此贴子已经被作者于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
--  
道理一样 以工程名称做条件找到.