以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]窗口表问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=55638)

--  作者:jygyyl
--  发布时间:2014/8/20 15:03:00
--  [求助]窗口表问题


项目启动提示:不存在名称为“单(双)独调查_w01”的DataTable!,详细信息如下:
.NET Framework 版本:2.0.50727.4984Foxtable 版本:2014.8.6.1错误所在事件:单独调查,CurrentChanged详细错误信息:未将对象引用设置到对象的实例。

“单独调查”表的CurrentChanged 中有如下代码:

Select Case e.DataCol.name
    Case "GS923","GS1603","GS1601","HGS1601","GS1602","HGS1602"
        Dim dr As DataRow = DataTables("单(双)独调查_W01").Find("GB011 = \'" & e.DataRow("GB011") & "\'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select

   求教老师,如何完善




--  作者:有点甜
--  发布时间:2014/8/20 15:06:00
--  
 你这个是窗口表?窗口表,必须是在窗口打开的时候才会生成的。
--  作者:有点甜
--  发布时间:2014/8/20 15:07:00
--  

 加入窗口是否打开的判断

 

If Forms("单(双)独调查").Opened Then


--  作者:jygyyl
--  发布时间:2014/8/20 15:15:00
--  回复:(有点甜) 你这个是窗口表?窗口表,必须...
是窗口表, Select语句是 "Select * From {W01} Where GB103 Is Null"
项目启动时“单独调查”表“如有“GB103”为空的行时,出现上述错误提示,没有则不提示!
求甜大师指点!谢谢!

--  作者:有点甜
--  发布时间:2014/8/20 15:18:00
--  

改代码。

 

Select Case e.DataCol.name
    Case "GS923","GS1603","GS1601","HGS1601","GS1602","HGS1602"
        If Forms("单(双)独调查").Opened Then           
            Dim dr As DataRow = DataTables("单(双)独调查_W01").Find("GB011 = \'" & e.DataRow("GB011") & "\'")
            If dr IsNot Nothing Then
                dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
            End If
        End If
End Select

 


--  作者:jygyyl
--  发布时间:2014/8/20 15:25:00
--  回复:(有点甜)改代码。 Select Case e.Da...
还是不行!???
--  作者:有点甜
--  发布时间:2014/8/20 15:26:00
--  
以下是引用jygyyl在2014-8-20 15:25:00的发言:
还是不行!???

 

你去看 CurrentChanged 的代码,事件下的代码不可能是这段

 

Select Case e.DataCol.name
    Case "GS923","GS1603","GS1601","HGS1601","GS1602","HGS1602"
        Dim dr As DataRow = DataTables("单(双)独调查_W01").Find("GB011 = \'" & e.DataRow("GB011") & "\'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select
[此贴子已经被作者于2014-8-20 15:26:28编辑过]

--  作者:jygyyl
--  发布时间:2014/8/20 15:38:00
--  不好意思,看错了
抱歉,我前面贴出的代码是DataColChanged下的事件代码!

 CurrentChanged下的事件代码是:

If Tables("单独调查") .Current IsNot Nothing Then
    With DataTables("单(双)独调查_W01")
        .LoadFilter ="[GB103] = \'" & Tables("单独调查") .Current("GB103")& "\' And [GB000] = \'" & Tables("单独调查").Current("GB000") & "\'"
        .load()
    End With
End If

如何加入判断!请指教!谢谢!
[此贴子已经被作者于2014-8-20 15:39:17编辑过]

--  作者:有点甜
--  发布时间:2014/8/20 15:41:00
--  

If Tables("单独调查").Current IsNot Nothing Then
    If Forms("单(双)独调查").Opened Then
        With DataTables("单(双)独调查_W01")
            .LoadFilter ="[GB103] = \'" & Tables("单独调查") .Current("GB103")& "\' And [GB000] = \'" & Tables("单独调查").Current("GB000") & "\'"
            .load()
        End With
    End If
End If