以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  窗口表时间段统计,哪儿出错了?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=32384)

--  作者:zerov
--  发布时间:2013/5/1 13:17:00
--  窗口表时间段统计,哪儿出错了?
窗口一个表,绑定《可用余额》,可用余额=回款-费用,回款=各个分公司明细按条件统计而来,如下图:

图片点击可在新窗口打开查看此主题相关图片如下:1111.png
图片点击可在新窗口打开查看

代码如下:
Dim sd As WinForm.DateTimePicker = e.Form.Controls("sd")
Dim ed As WinForm.DateTimePicker = e.Form.Controls("ed")
Dim filter As  String
Dim t As WinForm.Table = e.Form.Controls("Table1")

If sd.Value IsNot Nothing Then
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "日期 >= #" & sd.Value & "#"
End If

If ed.Value IsNot Nothing Then
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "日期 <= #" & ed.Value & "#"
End If

If Tables("可用余额").Current("分公司") IsNot Nothing Then ‘如果找分公司,则《可用余额》的“回款_其它老”=此分公司Filter时间段年份不等于2013的收款方式不等于承兑的回款金额之和,后面三条类似
    Tables("可用余额").Current("回款_其它老") = DataTables("回款明细").Compute("sum(回款金额)","分公司 = \'" &  Tables("可用余额").Current("分公司") & "\' and 收款方式 <> \'承兑\' and & filter & and 年份 <>  2013 ")
    Tables("可用余额").Current("回款_其它新") = DataTables("回款明细").Compute("sum(回款金额)","分公司 = \'" &  Tables("可用余额").Current("分公司") & "\' and 收款方式 <> \'承兑\' and filter and 年份 =  2013 ")
    Tables("可用余额").Current("回款_承兑老") = DataTables("回款明细").Compute("sum(回款金额)","分公司 = \'" &  Tables("可用余额").Current("分公司") & "\' and 收款方式 = \'承兑\' and filter and 年份  <> 2013 ")
    Tables("可用余额").Current("回款_承兑新") = DataTables("回款明细").Compute("sum(回款金额)","分公司 = \'" &  Tables("可用余额").Current("分公司") & "\' and 收款方式 = \'承兑\' and filter and 年份  = 2013 ")
     End If

结果提示:filter错误

大师:哪儿出错了?

--  作者:Bin
--  发布时间:2013/5/2 8:55:00
--  
弹出一下 Filter的值 看看是什么情况.
--  作者:zerov
--  发布时间:2013/5/2 17:12:00
--  
还有不有类似利用 DateTimePicker做时间段窗口统计的例子?
--  作者:Bin
--  发布时间:2013/5/2 17:16:00
--  
论坛里有不少例子的.搜索一下看看吧.
你这个能把例子发上来的话找出原因会比较容易.

--  作者:狐狸爸爸
--  发布时间:2013/5/2 17:18:00
--  

Tables("可用余额").Current("回款_其它老") = DataTables("回款明细").Compute("sum(回款金额)","分公司 = \'" &  Tables("可用余额").Current("分公司") & "\' and 收款方式 <> \'承兑\' and & filter & and 年份 <>  2013 ")

 

应该是:

 

Tables("可用余额").Current("回款_其它老") = DataTables("回款明细").Compute("sum(回款金额)","分公司 = \'" &  Tables("可用余额").Current("分公司") & "\' and 收款方式 <> \'承兑\' and " & filter & " and 年份 <>  2013 ")

 

好好看看:

http://www.foxtable.com/help/topics/1284.htm

 

 

别着急做系统,这些基本工应该掌握,心急吃不得热豆腐,否则耽误的时间更多。


--  作者:sloyy
--  发布时间:2013/5/2 17:28:00
--  
查查帮助里  between