以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  分布区间的统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=179416)

--  作者:yuweijie
--  发布时间:2022/8/22 19:05:00
--  分布区间的统计
b.Totals.AddExp("分布_60-70","iif(分数 >= 60 And 分数 < 70,1,0)")
b
.Totals.AddExp("分布_70-80","iif(分数 >= 70 And 分数 < 80,1,0)")
b
.Totals.AddExp("分布_80-90","iif(分数 >= 80 And 分数 < 90,1,0)")


我想把例子上的分数区间,换成日期区期,比如1年账龄,1-2年账龄,2年以上账龄,统计时也是先用应付日期和表头控件选择的日期相减来计算出账龄,再按照上面的例子给他增加三列(1年账龄,1-2年账龄,2年以上账龄),再统计出来,但就是出错。
图片点击可在新窗口打开查看

--  作者:yuweijie
--  发布时间:2022/8/22 19:07:00
--  
Dim ed As Date = Date.Now()
e.Form.Controls("终止日期").text=ed
Dim y As Integer = ed.Year
Dim m As Integer = ed.Month
Dim d As Integer =ed.Day
MessageBox.Show(y)

Dim sy1 As New Date(y+1,m,d)
Dim sy2 As New Date(y+2,m,d)
Dim sy3 As New Date(y+3,m,d)

MessageBox.Show(sy3)
Dim g As New SQLGroupTableBuilder("统计表1","CW_应付款明细")

g.Caption = "其他应付款(2022)"
g.Groups.AddDef("往来单位")
\'g.Exprs.Adddef("账龄","IIF(支付日期>=sy3,"3年以上(含3年)",IIF(支付日期>=sy2,"2-3年(含2年)",IIF(支付日期>=sy1,"1-2年(含1年)","1年以下")))")
\'g.Totals.AddExp("3年以上(含3年)","iif(支付日期 > =sy3,金额,0)")
\'g.Totals.AddExp("2-3年(含2年)","iif(支付日期 < sy3 and 支付日期 > =sy2,金额,0)")
\'g.Totals.AddExp("1-2年(含1年)","iif(支付日期 < sy2 and 支付日期 > =sy1,金额,0)")
g.Totals.AddExp("1年以下","iif(支付日期 < sy1,金额,0)")
\'Dim str As Integer=IIF([支付日期]<sy1,[金额],0)

\'g.Filter = "[是否核销]=false"
\'g.Build()
Tables("往来款统计_Table1").DataSource = g.BuildDataSource()


--  作者:有点蓝
--  发布时间:2022/8/22 20:05:00
--  
g.Exprs.Adddef("账龄","IIF(支付日期>=#" & sy3 & "#,\'3年以上(含3年)\',IIF(支付日期>=#" & sy2 & "#,\'2-3年(含2年)\',IIF(支付日期>=#" & sy1 & "#,\'1-2年(含1年)\',\'1年以下\')))")
--  作者:yuweijie
--  发布时间:2022/8/22 21:19:00
--  
测试了一下,还是不对
--  作者:有点蓝
--  发布时间:2022/8/22 21:29:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=150626
--  作者:yuweijie
--  发布时间:2022/8/22 22:10:00
--  
图片点击可在新窗口打开查看
这个错误 的提示,我用的是sql数据库,所以我把#改为\'了

--  作者:有点蓝
--  发布时间:2022/8/22 22:13:00
--  
g.Totals.Adddef("账龄","IIF(支付日.....