以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请帮忙查找问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42544)

--  作者:tj-pacer
--  发布时间:2013/11/14 17:58:00
--  请帮忙查找问题

项目已经投入使用了,但近来出了问题,点击按钮后,本应在将"DemandTable"的数据按照“Canlendar"表的周数添加到"FCST"表中,但报错,提示为system .argumentException: 列“”不属于表DemandTable,代码都没动,以前只变动了数据列的顺序,减少了部分数据列。请帮忙分析查找原因,谢谢!

 

按钮的代码如下:

 

DataTables("FCST").DataRows.Clear()
Dim wks As List (Of String) = DataTables("Calendar").GetUniqueValues("","Week")
For Each r As Row In Tables("DemandTable").Rows
    For Each wk As String In wks
        If r.IsNull(wk) = False Then
            Dim dr As DataRow = DataTables("Calendar").Find("Week = \'" & wk & "\'")
            Dim dr0 As DataRow = DataTables("FCST").AddNew()
            dr0("DemandDate") = dr("DemandDate")
            dr0("StokvisPN") = r("StokvisPN")
            dr0("CustomerPN") = r("CustomerPN")
            dr0("CustomerCode") = r("CustomerCode")
            dr0("PlanQuantity") = r(wk)
        End If
    Next
Next
Tables("FCST").Sort = "DemandDate"
Tables("DemandTable").Filter = ""
DataTables("FCST").Save()


--  作者:Bin
--  发布时间:2013/11/14 18:00:00
--  
代码没问题,不上例子是无法解决问题的.

你可以调试一下.每次弹出的WK的值是什么
是否出现空值现象

--  作者:狐狸爸爸
--  发布时间:2013/11/14 18:04:00
--  
DataTables("FCST").DataRows.Clear()
Dim wks As List (Of String) = DataTables("Calendar").GetUniqueValues("","Week")
For Each r As Row In Tables("DemandTable").Rows
    For Each wk As String In wks
        If wk > "" Then
            If r.IsNull(wk) = False Then
                Dim dr As DataRow = DataTables("Calendar").Find("Week = \'" & wk & "\'")
                Dim dr0 As DataRow = DataTables("FCST").AddNew()
                dr0("DemandDate") = dr("DemandDate")
                dr0("StokvisPN") = r("StokvisPN")
                dr0("CustomerPN") = r("CustomerPN")
                dr0("CustomerCode") = r("CustomerCode")
                dr0("PlanQuantity") = r(wk)
            End If
        End If
    Next
Next
Tables("FCST").Sort = "DemandDate"
Tables("DemandTable").Filter = ""
DataTables("FCST").Save()

--  作者:tj-pacer
--  发布时间:2013/11/15 10:18:00
--  

谢谢!搞定了。增加 if wk>"" 的目的是?


--  作者:Bin
--  发布时间:2013/11/15 10:19:00
--  
只有WK不是空值才执行里面的代码,这样就不会因为WK是空值从而造成错误.