以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请帮我看下代码哪里错了  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61831)

--  作者:youngling
--  发布时间:2014/12/19 22:23:00
--  请帮我看下代码哪里错了

我写了一段代码,需要实现的功能是,每次输入客户产品号的时候,在出库主表里面查找,如果没有找到数据,就把在 出库主表新增一行,然后目前正在输入的客户产品号和客户赋给出库主表的 客户产品号和客户列。

 

但是每次一执行就报错,报错信息如下:

 

 

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.11.11.1
错误所在事件:表,成品入库,DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。

请高手看下我的代码哪里错了。

 

出库主表有新增一行数据,但是内容全部为空,赋值语句没有用。

 

If e.DataCol.Name = "客户产品号" Then \'如果内容发生变动的是 客户产品号 列

      e.DataRow("入库数量") = Nothing 客户产品号的内容被删除或更改成其他的值了,入库数量列的数据都需要清零
       If  e.DataRow("客户产品号") = Nothing Then ‘          

      Else        
        Dim dr As DataRow
        \'在出库主表查找是否存在客户产品号的行
        dr = DataTables("出库主表").Find(" [客户产品号] = \'" & e.DataRow("客户产品号") & "\'")
        If dr IsNot Nothing Then \'
           
        Else   ’没有找到相应的客户产品号
            DataTables("出库主表").AddNew() ‘新增一行数据
            dr("客户产品号") = e.DataRow("客户产品号") \'赋值
            dr("客户") = e.DataRow("客户")  \'赋值
           
        End If
       
    End If
End If

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table

[此贴子已经被作者于2014-12-19 23:06:54编辑过]

--  作者:程兴刚
--  发布时间:2014/12/19 23:07:00
--  

If e.DataCol.Name = "客户产品号" Then \'如果内容发生变动的是 客户产品号 列

      If  e.DataRow.isnull("客户产品号") = true Then ‘  

          e.DataRow("入库数量") = Nothing 客户产品号的内容被删除或更改成其他的值了,入库数量列的数据都需要清零        

      Else        
        Dim dr As DataRow \'在出库主表查找是否存在客户产品号的行
        dr = DataTables("出库主表").Find(" [客户产品号] = \'" & e.DataRow("客户产品号") & "\'")
        If dr Is Nothing Then ’没有找到相应的客户产品号
            dr = DataTables("出库主表").AddNew() ‘新增一行数据
            dr("客户产品号") = e.DataRow("客户产品号") \'赋值
            dr("客户") = e.DataRow("客户")  \'赋值
        End If
    End If
End If


--  作者:youngling
--  发布时间:2014/12/20 14:29:00
--  

谢谢程版主!