Foxtable(狐表)用户栏目专家坐堂 → 子表交叉统计时,临时表中如何自动引入父表中的相关列项?


  共有1539人关注过本帖树形打印复制链接

主题:子表交叉统计时,临时表中如何自动引入父表中的相关列项?

帅哥哟,离线,有人找我吗?
FAGG200688
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:3 积分:110 威望:0 精华:0 注册:2024/5/9 9:45:00
子表交叉统计时,临时表中如何自动引入父表中的相关列项?  发帖心情 Post By:2024/5/9 10:31:00 [只看该作者]


请教狐爸,子表交叉统计时,临时表中如何自动引入父表中的相关列项?


图片点击可在新窗口打开查看此主题相关图片如下:屏幕截图(259).png
图片点击可在新窗口打开查看
[此贴子已经被作者于2024/5/9 10:38:45编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/9 10:38:00 [只看该作者]

先统计生成报表,再增加临时列,遍历所有行,查询父表数据填入

 回到顶部
帅哥哟,离线,有人找我吗?
FAGG200688
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:3 积分:110 威望:0 精华:0 注册:2024/5/9 9:45:00
  发帖心情 Post By:2024/5/9 10:46:00 [只看该作者]

谢谢啦,不会写图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/9 10:50:00 [只看该作者]

比如

Dim b As New CrossTableBuilder("统计表1",DataTables("xxx"))

……

b.Build '生成统计表
Maintable = Tables("统计表1"'打开生成的统计表

datatables("统计表1").datacols.add("客户姓名",gettype(string),32)

dim dt as datatable = datatables("出库主表")

dim dr as datarow

for each r as row in tables("统计表1").rows

dr = dt.find("出库编号='" & r("出库编号") & "'")

r("客户姓名") = dr("客户姓名")

next


 回到顶部
帅哥哟,离线,有人找我吗?
FAGG200688
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:3 积分:110 威望:0 精华:0 注册:2024/5/9 9:45:00
  发帖心情 Post By:2024/5/9 11:26:00 [只看该作者]

谢谢啦。万分感谢。您帮手查看下,改动一下,
1、‘发货日期’与‘物流费用’的列属性,应该不对,我不会改
2、插入的列,能不能插在表前面,(方便查看和导出)

Dim g As New CrossTableBuilder("统计表1", DataTables("出库明细"))
g.HGroups.AddDef("出库编号")
g.VGroups.AddDef("展柜名称")
g.Totals.AddDef("出库_数量", "出库_数量")
g.OrderByTotal = True
g.HorizontalTotal = True
g.VerticalTotal = True
g.Subtotal = True
g.Build()
MainTable = Tables("统计表1")

DataTables("统计表1").datacols.add("客户姓名",Gettype(String),32)
DataTables("统计表1").datacols.add("收货地址",Gettype(String),64)
DataTables("统计表1").datacols.add("发货日期",Gettype(String),32)
DataTables("统计表1").datacols.add("物流费用",Gettype(String),32)
Dim dt As DataTable = DataTables("出库主表")
Dim dr As DataRow
For Each r As Row In Tables("统计表1").rows
dr = dt.find("配发编号='" & r("出库编号") & "'")
r("客户姓名") = dr("客户姓名")
r("收货地址") = dr("收货地址")
r("发货日期") = dr("发货日期")
r("物流费用") = dr("物流费用")
Next


Forms("返回").OpenTo("统计表1")
Forms("返回").Controls("TextBox1").Value = "提示: ."
MainTable.Focus()

w
[此贴子已经被作者于2024/5/9 11:30:11编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/9 12:00:00 [只看该作者]

Type
新增列的数据类型,需要配合GetType关键字来获得数据类型,例如GetType(String)表示字符型,GetType(Boolean)表示逻辑型。


DataTables("统计表1").datacols.add("发货日期",Gettype(date))

 回到顶部