Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:如何将一个数据底表的结构,如何展示时更改结构?

1楼
guosheng 发表于:2023/12/20 15:40:00

基础表的结构:

编号    子编号    类别    金额

A01     A01-01    成本     100

A01     A01-01    费用     200

A01     A01-02    成本     300

A01     A01-02    费用     400

 

导出表的结构:

编号    子编号    成本_金额    费用_金额

A01     A01-01    100           200

A01     A01-02    300           400


在AddCols时,应该怎么控制啊?

Dim jb As New SQLJoinTableBuilder("查询表1","基础表")

jb.C

jb.AddTable("基础表","编号","明细表","编号",JoinModeEnum.Left)

jb.AddCols("编号","子编号",********    )

jb.filter= filter

jb.Build()

[此贴子已经被作者于2023/12/20 15:43:40编辑过]
2楼
有点蓝 发表于:2023/12/20 15:47:00
这种使用交叉统计:http://www.foxtable.com/webhelp/topics/3285.htm

Dim b As New CrossTableBuilder("统计表1",DataTables("订单"))
b.HGroups.AddDef("
编号"'添加客户列用于水平分组
b.HGroups.AddDef("
子编号"'添加客户列用于水平分组
b.VGroups.AddDef("
类别"'添加产品列用于垂直分组
b.Totals.AddDef("
金额"'添加数量列用于统计
b.Build '
生成统计表
Maintable = Tables("统计表1"'打开生成的统计表
3楼
guosheng 发表于:2023/12/20 15:59:00
SQLGroupTableBuilder 的结果和SQLcrossTableBuilder的结果,能进行拼接吗
比如用:dt1.Combine("合同编号",dt3,"合同编号")

4楼
有点蓝 发表于:2023/12/20 16:26:00
可以
5楼
guosheng 发表于:2023/12/20 16:49:00
想在Combine后的结果拼上【明细表3】中的列,有办法吗?1、将【日期列】的最大值拼到后边,2、获取到对应的【明细编号】拼接字符串。
想要的结果(主要是最后两列怎么拼上):
编号    金额   数量    最大日期           明细编号
A01     100   200   2023-10-20     101,102
A02     300   400    2021-02-01     211,222
-----------------------------------------------------
Dim b As New SQLGroupTableBuilder("统计表2","明细表")
dt1 = b.BuildDataSource()

Dim b2 As New SQLGroupTableBuilder("统计表3","明细表2")
dt2 = b2.BuildDataSource()

dt1.Combine("编号",dt2,"编号")
dt1.Show("统计表2") '显示统计结果,必须有这一句

统计表2的结果:
编号    金额   数量  
A01     100   200
A02     300   400
-------------------------------------
明细表3的结构:
编号      日期                明细编号
A01    2022-10-10       101
A01    2023-10-20       102
A02    2020-01-01       211  
A02    2021-02-01       222

[此贴子已经被作者于2023/12/20 16:50:24编辑过]
6楼
有点蓝 发表于:2023/12/20 17:15:00
先生成统计表,然后遍历统计表所有行逐行处理,根据编号使用compute取最大日期,使用GetComboListString取明细编号
7楼
guosheng 发表于:2023/12/20 17:20:00
行比较多,遍历可能比较费时间。 能用公式解决吗?
DataTables("查询表1").DataCols.Add("最大日期",Gettype(date), "  **** " )
DataTables("查询表1").DataCols.Add("明细编号",Gettype(string), "  *****    " )

[此贴子已经被作者于2023/12/20 17:20:11编辑过]
8楼
有点蓝 发表于:2023/12/20 17:26:00
只能遍历
共8 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04297 s, 2 queries.