Foxtable(狐表)用户栏目专家坐堂 → [求助]统计报错,生成的SQL语句错误


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

主题:[求助]统计报错,生成的SQL语句错误

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/28 12:37:00 [显示全部帖子]

case when,是sqlserver数据库的,access数据库,用iif函数。

 

我这样测试没问题

 

Dim cn As String = "" '数据源名(空白时为内数据表)
'Dim cn As String = "swptsql"   'sql外部数据源
Dim bm As String = "统计表1"
Dim b As New SQLGroupTableBuilder(bm,"机关负责人出庭")
'b.ConnectionName = cn
b.Groups.AddDef("案号")
b.Groups.AddDef("被告")
b.Groups.AddDef("承办人")   '暂

'b.Totals.AddExp("负责人","Case When 出庭情况_负责人 =1 then 1 Else null End")
'b.Totals.AddExp("正职","Case When 出庭情况_正职 =1 then 1 Else null End")
'b.Totals.AddExp("本机关工作人员","Case When 出庭情况_本机关工作人员 =1 then 1 Else null End")
'b.Totals.AddExp("下级机关工作部门人员","Case When 出庭情况_下级机关工作部门人员 =1 then 1 Else null End")
'b.Totals.AddExp("仅下级机关工作部门人员","Case When 出庭情况_仅下级机关工作部门人员 =1 then 1 Else null End")
'b.Totals.AddExp("仅委托律师","Case When 出庭情况_仅委托律师 =1 then 1 Else null End")
'b.Totals.AddExp("仅下级机关工作部门人员和律师","Case When 出庭情况_仅下级机关工作部门人员和律师 =1 then 1 Else null End")
'b.Totals.AddExp("行政机关未经法庭许可中途退庭","Case When 出庭情况_行政机关未经法庭许可中途退庭 =1 then 1 Else null End")
'b.Totals.AddExp("无人出庭应诉","Case When 出庭情况_无人出庭应诉 =1 then 1 Else null End")
b.Subtotal = True
b.SubtotalLevel = 0
Tables("司法统计_Table1").DataSource = b.BuildDataSource

With Tables("司法统计_Table1")
    .MergeMode = MergeModeEnum.Standard '标准合并模式
    .MergeCols.Clear() '清除原来的合并列
    .MergeCols.Add("案号") '加入要合并的列
    '.MergeSort = "被告"  '设置合并模式下的排序方式
    .AllowMerge = True '启用合并模式
End With
Tables("司法统计_Table1").AutoSizeCols()  '自动列宽End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/11 21:17:00 [显示全部帖子]

b.Groups.AddDef("开庭时间")

 

改成

 

b.Groups.AddDef("开庭时间", DateGroupEnum.none)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/11 21:39:00 [显示全部帖子]

Dim b As New SQLGroupTableBuilder("统计表1","表A")
b.Groups.AddDef("第一列") '根据产品分组
b.Groups.AddDef("第四列", DateGroupEnum.none)

b.Totals.AddDef("第二列") '对数量进行统计
b.Build '生成统计表
DataTables("统计表1").DataCols("第四列").SetDateTimeFormat(DateTimeFormatEnum.DateLongTime)
MainTable = Tables("统计表1") '打开生成的统计表


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/12 17:06:00 [显示全部帖子]

以下是引用天一生水在2018/10/12 17:02:00的发言:
3楼的代码能不能只统计[开庭时间]是某个月的数据?不是指分组,是指筛选后的数据。
比如:后台数据[开庭时间]是10月份或11月份的统计。

 

统计不是可以加条件,如

 

b.filter = "开庭时间 >= ## and 开庭时间 <= ##"


 回到顶部