以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何在生成的统计表中新增表达式列? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98282) |
-- 作者:CZY66DS -- 发布时间:2017/3/27 16:19:00 -- 如何在生成的统计表中新增表达式列? 代码如下: Dim Val As Date If InputValue(Val, "提示","请输入日期:") Then Dim xsb As String = pp1 & "销售记录表" Dim spb As String = pp1 & "商品表" Dim sql As String \'销售记录表 sql = "Select {" & xsb & "}.条码,数量,标准价,(数量*标准价) As 标准金额,成交金额,店铺,业务员,日期,单号 fr om{" & xsb & "} LEFT JOIN {" & spb & "} ON {" & xsb & "}.条码 = {" & spb & "}.条码 where 店铺 = \'" & user.name & "\' and 日期 = \'" & Val & "\'" \'" Dim DB As New GroupTableBuilder("统计表1",sql,CONN ) \'销售统计 Dim dt As fxDataSource db.Groups.AddDef("业务员") db.Totals.AddDef("数量") db.Totals.AddDef("成交金额") db.Totals.AddDef("标准金额") db.Totals.AddDef("单号",AggregateEnum.Count,"单数") db.VerticalTotal = True \'bd1.Filter = " 年代 = \'" & nd & "\' and 季节 = \'" & jj & "\'" dt = DB.BuildDataSource() Dim T As Table = e.Fo rm.Controls("Table1").Table T.DataSource = dt \'将窗口表绑定到统计表 \'--------以下希望增加单效列和附加列------------------- 单效=成交金额/单数 附加=数量/单数 End If 求解
|
-- 作者:有点色 -- 发布时间:2017/3/27 16:31:00 -- t.DataTable.DataCols.Add("单效", Gettype(Double), "iif(单数>0,成交金额/单数,0)") t.DataTable.DataCols.Add("附加", Gettype(Double), "iif(单数>0,数量/单数,0)") |
-- 作者:czy66ds -- 发布时间:2017/3/27 21:40:00 -- 谢谢。有问: 这句:db.Totals.AddDef("单号",AggregateEnum.Count,"单数") 如果要统计不重复的单号该如何处理?
|
-- 作者:有点蓝 -- 发布时间:2017/3/27 21:54:00 -- 这里做不到,直接在sql中过滤 |
-- 作者:CZY66DS -- 发布时间:2017/3/28 11:26:00 -- 那么,就此例而言,如何在sql中过滤? |
-- 作者:有点色 -- 发布时间:2017/3/28 13:01:00 -- 1、sql语句,直接生成一个临时表 dt1
2、使用dt1进行分组统计生成表格 t
3、循环t的每一行,对dt1进行getValues().Count获取单号的值,填入每一行
|
-- 作者:CZY66DS -- 发布时间:2017/3/28 14:31:00 -- 谢谢,请您帮忙大致写一个代码框架好吗? |
-- 作者:有点色 -- 发布时间:2017/3/28 16:08:00 -- Dim cmd As New SQLCommand
\'-----------------------------------------------
|