以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  好像又发现一个bug,交叉表为啥无端端有一列重复了?这个代码很简单,也用了半年了,突然就出问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=127231)

--  作者:chen37280600
--  发布时间:2018/11/8 20:41:00
--  好像又发现一个bug,交叉表为啥无端端有一列重复了?这个代码很简单,也用了半年了,突然就出问题

原始数据:


此主题相关图片如下:2.png
按此在新窗口浏览图片

 

 

Dim b As new SQLCrossTableBuilder("tjb1","FinanceInfo")
b.C
b.HGroups.AddDef("FinanceTime", DateGroupEnum.Year, "支付日期_年")
b.HGroups.AddDef("FinanceTime", DateGroupEnum.Month, "支付日期_月")
b.HGroups.AddDef("FinanceTime", DateGroupEnum.Day, "支付日期_日")
b.VGroups.AddDef("FinancePayWay","{0}")
\'b.Totals.AddExp("收入", "Case When FinanceMoney > 0 then FinanceMoney else 0 End")
\'b.Totals.AddExp("支出", "Case When FinanceMoney < 0 then FinanceMoney else 0 End")
b.Totals.AddExp("总计", "FinanceMoney")
b.HorizontalTotal =True
b.VerticalTotal =True
b.Subtotal =True


Dim t As Table = Tables("FinanceCrossReport_Table1")
t.DataSource  = b.BuildDataSource


t.AutoSizeCols

 


此主题相关图片如下:1.png
按此在新窗口浏览图片


[此贴子已经被作者于2018/11/8 20:43:54编辑过]

--  作者:有点甜
--  发布时间:2018/11/8 20:44:00
--  

表数据后面有空格,就会这样。

 

你循环每一行,把数据的空格删除,即可。

[此贴子已经被作者于2018/11/8 20:43:50编辑过]

--  作者:chen37280600
--  发布时间:2018/11/8 20:47:00
--  

数据的空格,是什么?

 

是FinancePayWay 的空格吗?

 

生成里列的时候,因为有空格,所以判断为不一样,但是统计数字的时候,sql过滤空格,所以统计出相同的数字

 

output.show(DataTables("FinanceInfo").SQLGetComboListString("FinancePayWay","","FinancePayWay"))

 

结果:待入账|工商银行|建设银行|顺丰代收|微信|现金|有赞|支付宝|中国银行

[此贴子已经被作者于2018/11/8 20:49:52编辑过]

--  作者:有点甜
--  发布时间:2018/11/8 20:49:00
--  
以下是引用chen37280600在2018/11/8 20:47:00的发言:
数据的空格,是什么?

 

比如数据后面后空格字符。 123空格空格空格 和 123 不同的


--  作者:chen37280600
--  发布时间:2018/11/8 20:51:00
--  
以下是引用有点甜在2018/11/8 20:49:00的发言:

 

比如数据后面后空格字符。 123空格空格空格 和 123 不同的

请问是那个字段出的问题?统计列的话,都是双精度小数,不可能有空格的


--  作者:有点甜
--  发布时间:2018/11/8 20:52:00
--  
以下是引用chen37280600在2018/11/8 20:51:00的发言:

请问是那个字段出的问题?统计列的话,都是双精度小数,不可能有空格的

 

循环每一行,去除空格

 

for each r as row in tables("表a").rows
    r("第一列") = r("第一列").Trim
Next


--  作者:blackzhu
--  发布时间:2018/11/9 8:48:00
--  
交叉表全部用临时表代码写,基本都没用过.