以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  子表交叉统计时,临时表中如何自动引入父表中的相关列项?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191776)

--  作者:FAGG200688
--  发布时间:2024/5/9 10:31:00
--  子表交叉统计时,临时表中如何自动引入父表中的相关列项?

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


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

--  作者:有点蓝
--  发布时间:2024/5/9 10:38:00
--  
先统计生成报表,再增加临时列,遍历所有行,查询父表数据填入
--  作者:FAGG200688
--  发布时间:2024/5/9 10:46:00
--  
谢谢啦,不会写图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间: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
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间:2024/5/9 12:00:00
--  
Type
新增列的数据类型,需要配合GetType关键字来获得数据类型,例如GetType(String)表示字符型,GetType(Boolean)表示逻辑型。


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