Foxtable(狐表)用户栏目专家坐堂 → [求助]关于SQLCrossTableBuilder交叉统计的一个问题


  共有2685人关注过本帖树形打印复制链接

主题:[求助]关于SQLCrossTableBuilder交叉统计的一个问题

帅哥哟,离线,有人找我吗?
1669607010
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
[求助]关于SQLCrossTableBuilder交叉统计的一个问题  发帖心情 Post By:2020/4/29 21:07:00 [只看该作者]

设置了一个交叉汇总
Dim d1 As Date = e.Form.Controls("StartDate2").Value
Dim d2 As Date =e.Form.Controls("EndDate2").Value
Dim b As New SQLCrossTableBuilder("设备配件年汇总","设备配件采购")
b.C
b.Filter="结算日期 >= '" & d1 & "' And 结算日期 <= '" & d2 & "'"

b.VGroups.AddExp("年" , "Year(Case When Day(结算日期) > 22 Then DateAdd(d,9,结算日期) Else 结算日期 End)")
b.VGroups.AddExp("月" , "Month(Case When Day(结算日期) > 22 Then DateAdd(d,9,结算日期) Else 结算日期 End)")

b.HGroups.AddDef("申购单位")
b.Totals.AddDef("结算金额", "结算金额")
b.HorizontalTotal = True
b.VerticalTotal = True
b.Build()
以上代码可以正常统计,现在想互换一下水平统计列和垂直统计列,把代码改成下面的问什么提示“输入的字符串格式不正确”,不能正常统计,哪位老师看看,是哪里的问题,谢谢



Dim d1 As Date = e.Form.Controls("StartDate2").Value
Dim d2 As Date =e.Form.Controls("EndDate2").Value
Dim b As New SQLCrossTableBuilder("设备配件年汇总","设备配件采购")
b.C
b.Filter="结算日期 >= '" & d1 & "' And 结算日期 <= '" & d2 & "'"

b.HGroups.AddExp("年" , "Year(Case When Day(结算日期) > 22 Then DateAdd(d,9,结算日期) Else 结算日期 End)")
b.HGroups.AddExp("月" , "Month(Case When Day(结算日期) > 22 Then DateAdd(d,9,结算日期) Else 结算日期 End)")

b.VGroups.AddDef("申购单位")
b.Totals.AddDef("结算金额", "结算金额")
b.HorizontalTotal = True
b.VerticalTotal = True
b.Build()

我只知道问题出在2行绿色代码上,因为上面绿色的代码改为
b.HGroups.AddDef("结算日期", DateGroupEnum.Year, "年")
b.HGroups.AddDef("结算日期", "月")
就可以正常统计,但是加了表达式后就不行了,哪位老师看看,哪里处理问题?
[此贴子已经被作者于2020/4/29 21:16:11编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/30 9:40:00 [只看该作者]

我测试没有问题

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

试试
b.Totals.AddDef("结算金额", "结算金额")
改为
b.Totals.AddDef("结算金额")

 回到顶部