Foxtable(狐表)用户栏目专家坐堂 → 【求助】关于动态加载后出现的问题


  共有8109人关注过本帖平板打印复制链接

主题:【求助】关于动态加载后出现的问题

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


加好友 发短信
等级:幼狐 帖子:186 积分:1294 威望:0 精华:0 注册:2011/8/17 17:29:00
【求助】关于动态加载后出现的问题  发帖心情 Post By:2013/3/4 11:15:00 [只看该作者]

If e.DataCol.Name = "数量_本次交"
    DataTables("客户订单主表").LoadFilter = "客户订单编号 = '" & e.DataRow("客户订单编号") & "'"
    DataTables("客户订单主表").Load()
    If DataTables("客户订单主表").DataRows.Count = 0 Then '如果订单表没有数据
        DataTables("客户订单子表").LoadFilter = "客户订单编号 Is Null" '不加载订单明细
    Else
        Dim ids As String
        For Each dr1 As DataRow In DataTables("客户订单主表").DataRows
            ids = ids & ",'" & dr1("客户订单编号") & "'"
        Next
        ids= ids.Trim(",")
        DataTables("客户订单子表").LoadFilter = "客户订单编号 In (" & ids & ")"
    End If
    DataTables("客户订单子表").LoadTop = ""
    DataTables("客户订单子表").Load()
    Dim dr As DataRow = DataTables("客户订单子表").Find("客户订单编号 = '" & e.DataRow("客户订单编号") & "'And OPN ='" & e.DataRow("料号") & "'")
    DataTables("产品资料子表").LoadFilter = "料号 = '" & e.DataRow("料号") & "'"
    DataTables("产品资料子表").load()
    Dim cr As DataRow = DataTables("产品资料子表").Find("料号 = '" & e.DataRow("料号") & "'")
    DataTables("销售出库单子表").LoadFilter ="客户订单编号 = '" & e.DataRow("客户订单编号") & "'"
    'DataTables("销售出库单子表").load()
  Dim v As Integer = DataTables("销售出库单子表").Compute("sum(数量_本次交)","客户订单编号 = '" & e.DataRow("客户订单编号") & "'And 料号 ='" & e.DataRow("料号") & "'")

    For Each pr As DataRow In DataTables("销售出库单子表").Select("客户订单编号 = '" & e.DataRow("客户订单编号") & "' And 料号 ='" & e.DataRow("料号") & "'")
        pr("数量_累交数") =  v
        pr("数量_未交数") = e.DataRow("数量_订单数")-v
    Next
    dr("累交数") = e.DataRow("数量_累交数")
    dr("未交数") = dr("数量")-dr("累交数")
    cr("当前库存") = cr("当前库存")- e.NewValue+e.OldValue
    DataTables("客户订单主表").LoadFilter ="客户订单编号 = '" & e.DataRow("客户订单编号") & "'"
    DataTables("客户订单主表").load()
    Dim vr As DataRow = DataTables("客户订单主表").Find("客户订单编号 = '" & e.DataRow("客户订单编号") & "'")
    Dim temp As Integer = DataTables("客户订单子表").Compute("sum(未交数)","客户订单编号 = '" & e.DataRow("客户订单编号") & "'")
    If temp > 0 Then
        vr("结案")  = False
    Else
        vr("结案") = True
    End If
End If

 

==========================================

这段代码写在Datacolchanged事件里

我需要通过“数量_本次交”的事件来更新{客户订单子表},{客户订单主表},{产品资料子表},{销售出库单子表}的相关数据

问题处在标红的这句代码上

如果没有这句,后台的数据无法加载到前台来进行COMPUTE的统计,会导致数据出错,如果有这句,compute的代码又无法执行出错,因为当前数据被刷新,想到用SQL的UPDATE来写,后面的代码又涉及到更复杂的逻辑,不知道怎么办了

[此贴子已经被作者于2013-3-4 11:16:38编辑过]

 回到顶部
总数 21 1 2 3 下一页