以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 调用目标发生异常 原因不明 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103913) |
||||
-- 作者:zhangning -- 发布时间:2017/7/19 15:38:00 -- 调用目标发生异常 原因不明
老师,“组装入库明细”和“组装日历缺数预测”都发生 “调用目标发生异常”,我确认不出错在哪里, 请老师帮看看,谢谢!
|
||||
-- 作者:有点甜 -- 发布时间:2017/7/19 16:52:00 -- DataColChanged事件
Select Case e.DataCol.Name |
||||
-- 作者:zhangning -- 发布时间:2017/7/20 10:22:00 -- 按照老师的方法,解决了, 老师,还有一个问题,如下代码: Select Case e.DataCol.Name Case "商品名" Dim dr15 As DataRow = e.DataRow Dim pr15 As DataRow Dim filter As String filter = "商品名 = \'" & dr15("商品名") & "\'" pr15 = DataTables("组装日计划").Find(filter) If pr15 IsNot Nothing dr15("八月1日") = dr15("实时在库台数") - pr15("八月1日") dr15("八月2日") = dr15("实时在库台数") - pr15("八月1日") - pr15("八月2日") dr15("八月3日") = dr15("实时在库台数") - pr15("八月1日") - pr15("八月2日") - pr15("八月3日") Else dr15("八月1日") = Nothing dr15("八月2日") = Nothing dr15("八月3日") = Nothing End If End Select 如粗体部分,笨办法是依次类推,要写到8月31日,就需要减去1日到31日的累计, 请问老师,有没有简便的方法? |
||||
-- 作者:有点甜 -- 发布时间:2017/7/20 10:32:00 -- 1、列名改成 日1、日2、日3 这样的;
2、改代码
If pr15 IsNot Nothing |
||||
-- 作者:zhangning -- 发布时间:2017/7/20 11:22:00 -- 老师,如图: ![]() ![]() 用的以下代码: Select Case e.DataCol.Name Case "商品名","部品ID" Dim dr15 As DataRow = e.DataRow Dim pr15 As DataRow Dim filter As String filter = "商品名 = \'" & dr15("商品名") & "\'" pr15 = DataTables("组装日计划").Find(filter) If pr15 IsNot Nothing Dim sum As Double = dr15("实时在库台数") For i As Integer = 1 To 31 dr15("日" & i) = sum - pr15("日" & i) sum = dr15("日" & i) Next Else For i As Integer = 1 To 31 dr15("日" & i) = Nothing Next End If End Select 想要的时,下边只要“部品ID”不为空(有内容)的,后边的“8/1"等均要有内容, 请老师帮看看,怎么改? |
||||
-- 作者:有点甜 -- 发布时间:2017/7/20 11:29:00 -- 没看懂你什么意思,具体例子发上来测试。
Select Case e.DataCol.Name
Case "商品名","部品ID"
Dim dr15 As DataRow = e.DataRow
Dim pr15 As DataRow
Dim filter As String
filter = "商品名 = \'" & dr15("商品名") & "\'"
pr15 = DataTables("组装日计划").Find(filter)
If pr15 IsNot Nothing
Dim sum As Double = dr15("实时在库台数")
For i As Integer = 1 To 31
dr15("日" & i) = sum - pr15("日" & i)
sum = dr15("日" & i)
Next
Else
For i As Integer = 1 To 31
dr15("日" & i) = dr15("实时在库台数")
Next
End If
End Select
|