Foxtable(狐表)用户栏目专家坐堂 → 原来百试百灵的代码现在突然出现问题


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

主题:原来百试百灵的代码现在突然出现问题

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


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/6 20:54:00 [只看该作者]

以成品表为例,你的代码为:
 
If e.DataCol.Name ="增加" Then
    Dim dr,dr1 As DataRow
    dr = e.DataRow
    If dr.isnull("计划号") Then
        MessageBox.Show("计划号不能为空!")
    Else
        Dim s As String = "计划号 = '" & dr("计划号") & "'and 材质 = '" &  dr("材质") & "'and 砖号 = '" & dr("砖号") & "'and 型号 = '" & dr("型号") & "'"
        dr1= DataTables("完成情况").find(s)
        If dr1 IsNot Nothing Then
            Dim val1 As Double = dr("成品_数量")
            Dim val2 As Double = dr("成品_重量")
            Dim val3 As Double = dr("废品_数量")
            Dim val4 As Double = dr("废品_重量")
            If dr("增加") = False Then
                val1 = -val1
                val2 = -val2
                val2 = -val3
                val2 = -val4
            End If
            dr1("成品情况_成品_数量")+ = val1
            dr1("成品情况_成品_吨数")+ = val2
            dr1("成品情况_废品_数量")+ = val3
            dr1("成品情况_废品_吨数")+ = val4
            dr1.Save()
        Else
            Dim Ls As String() = {"计划号","成品情况_成品_数量","成品情况_成品_吨数","成品情况_废品_数量","成品情况_废品_吨数"}
            dr1 = DataTables("完成情况").AddNew()
            For Each s In Ls
                dr1(s) = dr(s)
            Next
            dr1.Save()
        End If
        dr.Save()
      End If
End If
 
留意我加粗的一行,你的成品表有名称为"成品情况_成品_数量","成品情况_成品_吨数","成品情况_废品_数量"这样的列吗?
明明就没有啊,错误提示也告诉你“列 成品情况_成品_数量 不属于成品表”

 

代码应该这么写:

 

If e.DataCol.Name ="增加" Then
    Dim dr,dr1 As DataRow
    dr = e.DataRow
    If dr.isnull("计划号") Then
        MessageBox.Show("计划号不能为空!")
    Else
        Dim s As String = "计划号 = '" & dr("计划号") & "'and 材质 = '" &  dr("材质") & "'and 砖号 = '" & dr("砖号") & "'and 型号 = '" & dr("型号") & "'"

        dr1= DataTables("完成情况").find(s)
        If dr1 IsNot Nothing Then
            Dim val1 As Double = dr("成品_数量")
            Dim val2 As Double = dr("成品_重量")
            Dim val3 As Double = dr("废品_数量")
            Dim val4 As Double = dr("废品_重量")
            If dr("增加") = False Then
                val1 = -val1
                val2 = -val2
                val2 = -val3
                val2 = -val4
            End If
            dr1("成品情况_成品_数量")+ = val1
            dr1("成品情况_成品_吨数")+ = val2
            dr1("成品情况_废品_数量")+ = val3
            dr1("成品情况_废品_吨数")+ = val4
            dr1.Save()
        Else
            Dim Ls1 As String() = {"计划号","成品_数量","成品_重量","废品_数量","废品_重量"}
            Dim Ls2 As String() = {"计划号","成品情况_成品_数量","成品情况_成品_吨数","成品情况_废品_数量","成品情况_废品_吨数"}
            dr1 = DataTables("完成情况").AddNew()
            For i As Integer = 0 To ls1.Length - 1
                dr1(ls2(i)) = dr(ls1(i))
            Next
            dr1.Save()
        End If
        dr.Save()
      End If
End If

[此贴子已经被作者于2011-11-6 21:52:42编辑过]

 回到顶部
总数 12 1 2 下一页