以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]代码出错,急!!!  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=54002)

--  作者:utcxray
--  发布时间:2014/7/19 18:26:00
--  [求助]代码出错,急!!!
代码出错,急!!!

If e.DataCol.Name = "入库" AndAlso e.DataRow("入库") = True Then  \'如果列名是入库且入库为真

    Dim cz As DataRow  \'在出入库表中查找与所选型号一致的行

    cz= DataTables("出入库").Find("[型号] = \'" & e.Table.Current("型号") & "\'")

    If cz Is Nothing \'没找到就入库

        Dim nma() As String = {"项目名称","产品名称","型号","规格","单价","供应商"} \'采购明细表数据来源列

        Dim nmb() As String = {"项目名称","产品名称","型号","规格","单价","供应商"} \'出入库表数据接收列

        Dim dr As DataRow = DataTables("出入库").AddNew

        For i As Integer = 0 To nma.Length - 1

            dr(nmb(i)) = e.DataRow(nma(i))

        Next

    Else  \'否则提出警告并返回

        MessageBox.Show("此产品已在库中!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Information)

        Return

    End If

End If


--  作者:utcxray
--  发布时间:2014/7/19 18:37:00
--  
今天周末,我忘了。我说发了三个求助没人搭理呢
--  作者:pyh6918
--  发布时间:2014/7/19 18:40:00
--  
出什么样的错
--  作者:有点甜
--  发布时间:2014/7/20 10:05:00
--  

 贴一段代码,出什么错又不说

 

If e.DataCol.Name = "入库" AndAlso e.DataRow("入库") = True Then  \'如果列名是入库且入库为真

    Dim cz As DataRow  \'在出入库表中查找与所选型号一致的行

    cz= DataTables("出入库").Find("[型号] = \'" & e.DataRow("型号") & "\'")

    If cz Is Nothing \'没找到就入库

        Dim nma() As String = {"项目名称","产品名称","型号","规格","单价","供应商"} \'采购明细表数据来源列

        Dim nmb() As String = {"项目名称","产品名称","型号","规格","单价","供应商"} \'出入库表数据接收列

        Dim dr As DataRow = DataTables("出入库").AddNew

        For i As Integer = 0 To nma.Length - 1

            dr(nmb(i)) = e.DataRow(nma(i))

        Next

    Else  \'否则提出警告并返回

        MessageBox.Show("此产品已在库中!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Information)

        Return

    End If

End If


--  作者:utcxray
--  发布时间:2014/7/21 9:37:00
--  
如图
图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

--  作者:utcxray
--  发布时间:2014/7/21 9:38:00
--  
不好意思,因是周末,大家都忙,我急也忘了贴图
--  作者:有点甜
--  发布时间:2014/7/21 9:40:00
--  

If e.DataCol.Name = "入库" AndAlso e.DataRow("入库") = True Then  \'如果列名是入库且入库为真

    Dim cz As DataRow  \'在出入库表中查找与所选型号一致的行

    cz= DataTables("出入库").Find("[型号] = \'" & e.DataRow("型号") & "\'")

    If cz Is Nothing \'没找到就入库

        Dim nma() As String = {"项目名称","产品名称","型号","规格","单价","供应商"} \'采购明细表数据来源列

        Dim nmb() As String = {"项目名称","产品名称","型号","规格","单价","供应商"} \'出入库表数据接收列

        Dim dr As DataRow = DataTables("出入库").AddNew

        For i As Integer = 0 To nma.Length - 1

            dr(nmb(i)) = e.DataRow(nma(i))

        Next

    Else  \'否则提出警告并返回

        MessageBox.Show("此产品已在库中!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Information)

        Return

    End If

End If


--  作者:Bin
--  发布时间:2014/7/21 9:41:00
--  
DataColChanged事件没有e.table  你要用tables("表名")
--  作者:程兴刚
--  发布时间:2014/7/21 9:45:00
--  

If e.DataCol.Name = "入库" AndAlso e.DataRow("入库") = True Then  \'如果列名是入库且入库为真

    Dim cz As DataRow  \'在出入库表中查找与所选型号一致的行

    cz= DataTables("出入库").Find("[型号] = \'" & e.datarow("型号") & "\'")

    If cz Is Nothing \'没找到就入库

        Dim nm() As String = {"项目名称","产品名称","型号","规格","单价","供应商"} \'采购明细表数据来源列

        Dim dr As DataRow = DataTables("出入库").AddNew

        For i As Integer = 0 To nm.Length - 1

            dr(nm(i)) = e.DataRow(nm(i))

        Next

    Else  \'否则提出警告并返回

        MessageBox.Show("此产品已在库中!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Information)

        Return

    End If

End If


--  作者:程兴刚
--  发布时间:2014/7/21 9:46:00
--  

晕,4楼已经给出答案!