以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  身份证不合格统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131739)

--  作者:刘林
--  发布时间:2019/3/5 19:50:00
--  身份证不合格统计
g.Totals.AddExp("身份证不合格","case when  。。。。 then 0 else 1 end") 
请问老师这样如何统计身份证列不合格的个数,条件怎样写


g.Totals.AddExp("学籍号不合格","case when 。。。。then 1 else 0 end")
另外再请教如保判断学籍号宽度不等于19位呢

g.Totals.AddExp("电话号码不合格","case when 。。。。then 1 else 0 end")
再来一个如何判断电话号不标准呢
[此贴子已经被作者于2019/3/5 19:59:30编辑过]

--  作者:有点蓝
--  发布时间:2019/3/5 20:12:00
--  
需要添加额外的列实现,没有办法直接在SQL里判断。

比如添加一个逻辑列【身份证合格】,在datacolchanged事件判断身份证号码,如果合格【身份证合格】就设置为true

--  作者:刘林
--  发布时间:2019/3/5 20:27:00
--  
那学籍的宽度和电话这个怎么办
--  作者:有点蓝
--  发布时间:2019/3/5 20:32:00
--  
完全同样的用法
--  作者:刘林
--  发布时间:2019/3/5 20:41:00
--  
Dim g As New GroupTableBuilder("统计表1",Tables("中考报名1_table5").DataTable)
Dim dt7 As Table = Tables("中考报名1_table7")
g.Groups.AddDef("班级","班级")
g.Totals.AddDef("学生姓名",AggregateEnum.sum,"参考人数")
g.Totals.AddExp("民族_空值","case when 民族 is null then 1 else 0 end")
dt7.DataSource = g.BuildDataSource()


这样写是不是不行,怎样写才对

--  作者:有点蓝
--  发布时间:2019/3/5 20:50:00
--  
要使用SQLGroupTableBuilder才有AddExp用法
--  作者:刘林
--  发布时间:2019/3/5 20:55:00
--  
不用sql统计table的这个怎么办呢,用for each 来逐一判断吗
--  作者:有点蓝
--  发布时间:2019/3/5 21:40:00
--  
给统计表添加临时列,然后遍历所有行,使用compute计算