以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]字条串列如何进行累加计算 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=168901) |
-- 作者:onlinech -- 发布时间:2021/5/26 14:54:00 -- [求助]字条串列如何进行累加计算 之前建立SQL Server数据库时,误将一列类型设为了字符串,现在进行分组统计时,无法对这一列进行累计值计算,请问下有无比较简单的代码方式解决 假设“备用5”列是字符串,如何在分组统计时统计累计值 Dim gg As New GroupTableBuilder("统计表2", DataTables("称重信息")) gg.Groups.AddDef("发货单位") gg.Totals.AddDef("收货单位",AggregateEnum.Count,"车次") gg.Totals.AddDef("备用5",AggregateEnum.Sum,"件") gg.Totals.AddDef("净重") gg.SubTotal = True Tables("测试1_Table1").DataSource = gg.BuildDataSource() \'不能与gg.build()同时使用,会出现闪退现象 e.Form.Controls("Table1").Visible = True 报以下错误 |
-- 作者:有点蓝 -- 发布时间:2021/5/26 15:04:00 -- 没有办法,必须改为数值列,比如整型,双精度之类 |
-- 作者:小美菜 -- 发布时间:2021/5/26 21:37:00 -- 只有自己设计一个,确实在信息处理中经常需要累计字符串列,建议foxtable增加字符串累计功能 |
-- 作者:y2287958 -- 发布时间:2021/5/27 8:20:00 -- 用SQLGroupTableBuilder试试 |
-- 作者:有点蓝 -- 发布时间:2021/5/27 9:22:00 -- 以下是引用小美菜在2021/5/26 21:37:00的发言:
没有办法累计,既然是字符列,就有可能有非数字,比如字母,符号,空格,空字符串等。不要说可以保证只录入数字,除了自己没有人相信。只有自己设计一个,确实在信息处理中经常需要累计字符串列,建议foxtable增加字符串累计功能 1、增加辅助列,把字符串是代码转换为数值 2、可以考虑使用SQLGroupTableBuilder,使用sql语法进行类型转换,这个自行百度一下,前提是保证只录入数字,否则会出错,比如SqlServer b.Totals.AddExp("件","cast(备用5 as float)",AggregateEnum.Sum)
|