Foxtable(狐表)用户栏目专家坐堂 → CurrentChanged事件代码报错,请帮检查哪里出错


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

主题:CurrentChanged事件代码报错,请帮检查哪里出错

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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
CurrentChanged事件代码报错,请帮检查哪里出错  发帖心情 Post By:2011/3/9 12:40:00 [只看该作者]

CurrentChanged事件

If e.Table.Current Is Nothing Then '如果Current为Nothing
    Return '则返回
Else
    Tables("采购").Current.DataRow.Load()
    StatusBar.Message2 = "已刷新主表当前行!"
    StatusBar.Refresh
    Dim drs As List(Of DataRow)
    drs = Tables("采购").Current.DataRow.GetChildRows("采购明细")
    For Each dr As DataRow In drs
        dr.Load()
    Next
    StatusBar.Message2 = "已刷新主表当前行和明细表关联行!"
    StatusBar.Refresh
    StatusBar.Reset()
    If e.Table.current("采购订单单号")=Nothing Then
        DataTables("采购订单").LoadFilter="[采购订单编号]=''"
        DataTables("采购订单").Load
        DataTables("采购订单明细").LoadFilter="[采购订单编号] =''"
        DataTables("采购订单明细").Load
    Else
        Dim cmd As New SQLCommand
        Dim dt As DataTable
        Dim db As DataRow
        'cmd.C '如果使用外部数据源需指明数据源名称
        cmd.CommandText = "SELECT  采购订单单号 From {采购订单}"
        dt = cmd.ExecuteReader()
        db = dt.Find("采购订单单号 = '" & trim(Tables("采购").Current("采购订单单号")) & "'")
        If db IsNot Nothing '一定要判断是否存在对应的行
            DataTables("采购订单").LoadFilter="[采购订单单号]='" & Tables("采购").Current("采购订单单号") & "'"
            DataTables("采购订单").Load
            Dim s As String = DataTables("采购订单").GetComboListString("采购订单编号")
            DataTables("采购订单明细").LoadFilter = "[采购订单编号] In('" & s.Replace("|","','") & "')"
            DataTables("采购订单明细").Load
            StatusBar.Message2 = "已刷新主表当前行和明细表关联行!"
            StatusBar.Refresh
            StatusBar.Reset()
        Else
            DataTables("采购订单").LoadFilter="[采购订单编号]=''"
            DataTables("采购订单").Load
            DataTables("采购订单明细").LoadFilter="[采购订单编号] =''"
            DataTables("采购订单明细").Load
        End If
    End If
End If

 

报错提示

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图未命名3.png
图片点击可在新窗口打开查看

不过出现这种报错提示,只是偶尔的,所以没有找到原因

[此贴子已经被作者于2011-3-9 12:43:52编辑过]

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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/3/9 14:33:00 [只看该作者]

大侠们帮检查一下了

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


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

只能估计了。

你判断用的是:

 

If e.Table.Current Is Nothing Then

 

实际使用的是:

 

Tables("采购").Current.DataRow.Load()

有的时候,e.table可能不是tables("采购")呢?


 回到顶部