Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
红叶 发表于: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楼
红叶 发表于:2011/3/9 14:33:00
大侠们帮检查一下了
3楼
狐狸爸爸 发表于:2011/3/9 14:33:00

只能估计了。

你判断用的是:

 

If e.Table.Current Is Nothing Then

 

实际使用的是:

 

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

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

共3 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01953 s, 2 queries.