Foxtable(狐表)用户栏目专家坐堂 → [求助]为何表间调用总出错


  共有11068人关注过本帖树形打印复制链接

主题:[求助]为何表间调用总出错

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


加好友 发短信
等级:婴狐 帖子:11 积分:130 威望:0 精华:0 注册:2012/3/3 15:05:00
[求助]为何表间调用总出错  发帖心情 Post By:2012/3/11 17:23:00 [只看该作者]

请各位帮帮忙,还没分析,调用已经失败了,崩溃。

录音表:有四列数据(日期,时间,号码,录音大小)

成功明细表:有九列数据(日期,时间,号码,营销人员,业务名称,号码属地,主叫号,录入员,录音大小)

"成功明细表"中“时间”与“录音大小”列需调用"录音表",条件是:两表中的“日期”与“号码”相同时

在“成功明细表”的表属性的DataColChanged事件中以下代码

If e.DataCol.Name = "号码" Then
        Dim cgdr As DataRow = e.DataRow
        Dim lydr As DataRow
        If cgdr.IsNull("号码")  Then
           cgdr("时间") = Nothing
        Else
            Dim filter As String
            filter = "日期 = '" & cgdr("日期") & "' And 号码 = '" & cgdr("号码") & "'"
            lydr = DataTables("录音").Find(filter)
            If lydr Is Nothing Then
                cgdr("时间") = lydr("时间")
                cgdr("录音大小") = lydr("录音大小")
            End If
        End If
End If

在“成功明细”表中重置列“号码”,弹出:

错误代码位置:表,成功明细,DataColChanged

System.NullReferenceException:末将对象引用设置到对象的实例。

在UserCode.DataColChanged(DataColEventArgs e)

 

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
ahbzczy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:268 积分:2307 威望:0 精华:0 注册:2010/3/26 14:08:00
  发帖心情 Post By:2012/3/11 17:29:00 [只看该作者]

filter = "日期 = #" & cgdr("日期") & ''# And 号码 = '" & cgdr("号码") & "'"
            lydr = DataTables("录音").Find(filter)
            If lydr IsNot Nothing Then
                cgdr("时间") = lydr("时间")
                cgdr("录音大小") = lydr("录音大小")
            End If
        End If
End If

 

这样试试


 回到顶部
帅哥哟,离线,有人找我吗?
vincent8899
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:11 积分:130 威望:0 精华:0 注册:2012/3/3 15:05:00
[求助]  发帖心情 Post By:2012/3/11 17:37:00 [只看该作者]

试了,还是弹出相同的错误窗口。

再帮忙找找原因,谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
vincent8899
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:11 积分:130 威望:0 精华:0 注册:2012/3/3 15:05:00
  发帖心情 Post By:2012/3/11 18:42:00 [只看该作者]

再次学习了帮助,没发现出错在哪,只能重新登录,再写一次,解决了。谢谢各位!!!

If e.DataCol.Name = "号码"  Then
    If e.NewValue Is Nothing Then
        e.DataRow("时间") = Nothing
    Else
        Dim dr As DataRow
        Dim filter As String
        filter = "日期 = #" & e.DataRow("日期") & "# And 号码 = '" & e.DataRow("号码") & "'"
        dr = DataTables("录音").Find(filter)
        If dr IsNot Nothing Then
            e.DataRow("时间") = dr("时间")
            e.DataRow("录音大小") = dr("录音大小")
        End If
     End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
新福星
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1964 积分:15604 威望:0 精华:0 注册:2011/7/16 20:59:00
  发帖心情 Post By:2012/3/11 19:15:00 [只看该作者]

If lydr Is Nothing Then
                cgdr("时间") = lydr("时间")
                cgdr("录音大小") = lydr("录音大小")
            End If
lydr已经是Null怎么你还调用呢?

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/3/12 8:05:00 [只看该作者]

代码对的.

 回到顶部