以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]数据表里的代码不能调用窗口控件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47367)

--  作者:klg1011
--  发布时间:2014/3/9 2:22:00
--  [求助]数据表里的代码不能调用窗口控件
我在项目属性的MainTableChanged事件中加入了以下代码

If MainTable.Name = "应收账款汇总表" Then
    Dim f As New Filler
    DataTables("应收账款汇总表").DataRows.Clear() \'清除原有数据
    f.SourceTable = DataTables("开票记录表")
    f.SourceCols = "责任人,公司名称" 
    f.DataTable = DataTables("应收账款汇总表")
    f.DataCols = "责任人,公司名称" 
    f.Fill()
End If

我在统计数据表的DataColChanged事件中加入了以下代码,想实现统计某段时期内的应收账款功能,

Dim dr As DataRow = e.DataRow
Dim dt As DataTable = DataTables("开票记录表")
If e.DataCol.Name = "公司名称" Then
    \'dr("一年以内") = dt.Compute("Sum(应收账款)","[公司名称] = \'" & dr("公司名称") & "\'and [开票日期] >= #12/31/2007# ")    
    \'dr("一年以内") = dt.Compute("Sum(应收账款)","[公司名称] = \'" & dr("公司名称") & "\'and [开票日期] >= #" & Forms("应收账款").Controls("TextBox1").Value & "# ")   
    dr("一年以内") = dt.Compute("Sum(应收账款)","[公司名称] = \'" & dr("公司名称") & "\'and [开票日期] >= #" & Forms("应收账款").Controls("StartDate").Value & "# And [开票日期] <= #" & Forms("应收账款").Controls("EndDate").Value & "#")
End If



当使用代码 [开票日期] >= #12/31/2007#时能够正常统运行,
当使用代码  [开票日期] >= #" & Forms("应收账款").Controls("StartDate").Value & "# And [开票日期] <= #" & Forms("应收账款").Controls("EndDate").Value & "# 时总提示窗口已关闭,不能调用其中的控件,这种问题怎么解决? 

事实上我的目的就是想能通过窗口控件方便调整   [开票日期] 的条件范围,而不用每次都要通过代码手动调整。请老师们指点指点!!!
[此贴子已经被作者于2014-3-9 2:40:49编辑过]

--  作者:lsy
--  发布时间:2014/3/9 8:12:00
--  

If Forms("应收账款").Opened Then

     dr("一年以内") = dt.Compute("Sum(应收账款)","[公司名称] = \'" & dr("公司名称") & "\'and [开票日期] >= #" & Forms("应收账款").Controls("StartDate").Value & "# And [开票日期] <= #" & Forms("应收账款").Controls("EndDate").Value & "#")

End If

 

窗口必须打开。