Foxtable(狐表)用户栏目专家坐堂 → addnew


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

主题:addnew

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
addnew  发帖心情 Post By:2017/2/27 19:00:00 [只看该作者]

就是简单的对库存明细表的行进行循环,看看在可用数量表是否存在相同条件filter的行。如果不存在,那就增加一行,数量和在库数量的值根据库存明细表符合filter的行求和。
现在的情况是每一行都增加了且数量为0.
请帮忙看看下面代码哪了不对?drr.save不应该已经保存了么,sqlfind在查询的时候不已经存在这一行了么,就不应该再增加行了吧。
For Each rr As DataRow In DataTables("库存明细表").DataRows
    Dim filter As String = "生产订单号码 = '" & rr("生产订单号码") & "' and 工单行号 = '" & rr("工单行号") & "' and 物料编码 = '" & rr("物料编码") & "' and 订单号 = '" & rr("订单号") & "' and 订单行号 = '" & rr("订单行号") & "' and 库位类别 = '" & rr("库位类别") & "'"
    Dim  dr As DataRow = DataTables("可用数量表").SQLFind(filter)
    If dr Is Nothing Then
        Dim sum As Integer = DataTables("库存明细表").SQLCompute("Sum(数量)",filter)
        Dim drr As Row = Tables("可用数量表").AddNew()
        drr("生产订单号码") = rr("生产订单号码")
        drr("工单行号") = rr("工单行号")
        drr("物料编码") = rr("物料编码")
        drr("物料名称") = rr("物料名称")
        drr("订单号") = rr("订单号")
        drr("订单行号") = rr("订单行号")
        drr("库位类别") = rr("库位类别")
        drr("两化表编号") = rr("两化表编号")
        drr("软件版本") = rr("软件版本")
        drr("两化表编号") = rr("两化表编号")
        drr("体态") = rr("体态")
        If  rr.IsNull("入库完成时间")  Then
            drr("入库时间") = Date.Now
        Else
            drr("入库时间") = rr("入库完成时间")
        End If
        drr("数量") = sum
        drr("在库数量") = sum
        drr.save
    End If
Next
msgbox(0)

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


加好友 发短信
等级:超级版主 帖子:109387 积分:556591 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/27 20:29:00 [只看该作者]

代码看不出问题,应该是数据的原因。

重复调用同样的代码还会不会增加行?

 回到顶部