以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 关于跨表多行合并代码问题 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=186208) |
-- 作者:jhxb8821 -- 发布时间:2023/4/13 8:18:00 -- 关于跨表多行合并代码问题 有两个表“订单表”、“订单明细表”,比如:“订单明细表”中订单编号为101#,“产品名称”列分别为A、B、C,“数量”列分别是5、10、20;希望在“订单表”中增加“订单详情”列,订单编号101#自动统计为“A(5),B(10),C(20)”,请教老师,这个代码怎么写? |
-- 作者:有点蓝 -- 发布时间:2023/4/13 8:49:00 -- 产品少可以这样,如果有几十上百个,这个功能不是合理的用法。作为一个数据库软件,也不应该这样存储数据,这样出报表倒是可以理解。但是数据存储和数据展示是2种不同的概念,尽量分开处理 如果要做,大概:订单表datacolchanged事件 select case e.datacol.name case "编号" dim s as string for each dr as datarow = datatables("订单明细").select("编号=\'" & e.datarow("编号") & "\'") s = s & "," & dr("产品名称") & “(” & dr("数量") & “)” next e.datarow("订单详情") = s end select |
-- 作者:jhxb8821 -- 发布时间:2023/4/13 9:06:00 -- 老师,提示有语法错误 |
-- 作者:有点蓝 -- 发布时间:2023/4/13 9:18:00 -- for each dr as datarow in datatables("订单明细")....... |
-- 作者:jhxb8821 -- 发布时间:2023/4/13 9:29:00 -- ,A(5),B(10),C(15) 蓝老师,怎么多了一个逗号
|
-- 作者:有点蓝 -- 发布时间:2023/4/13 9:30:00 -- e.datarow("订单详情") = s.trim(",") |
-- 作者:jhxb8821 -- 发布时间:2023/4/13 9:35:00 -- 好了,非常感谢蓝老师 |
-- 作者:jhxb8821 -- 发布时间:2023/4/21 10:46:00 -- 代码 老师,下列代码为什么已打开,软件就关闭 Dim tmp As String = ProjectPath & "Attachments\\资料卡2.doc" Dim rep As String = ProjectPath & "Reports\\资料卡2.doc" Dim mht As String = ProjectPath & "Reports\\资料卡2.mhtml" Dim wrt As New WordReport(Tables("事件登记"), tmp, rep) wrt.Build() wrt.SaveToMHT(mht) wrt.Quit e.Form.Controls("WebBrowser1").Address = mht |
-- 作者:有点蓝 -- 发布时间:2023/4/21 10:51:00 -- 如果有安装wps,参考:http://www.foxtable.com/webhelp/topics/3735.htm |
-- 作者:jhxb8821 -- 发布时间:2023/4/21 11:05:00 -- 我查看了一下电脑,没有安装过WPS文件 |