以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助-单元格数据合并 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187061) |
-- 作者:lovetoday -- 发布时间:2023/6/18 17:14:00 -- 求助-单元格数据合并 老师,我的原数据表格是这样的01 而我想要的结果是下图这样的表格02 也就是说,把原表01的同一个生日(也就是日期)的运生差量、销运差量、销生差量结算到一起的,并将他们的说明一栏的并空说明合并到一栏中,请问老师,用代码如何实现或如何参考,请指教。
|
-- 作者:有点蓝 -- 发布时间:2023/6/18 20:36:00 -- 大概: for each s as string in datatables("表A").getvalues("生日") dim r as row = tables("表A").addnew r("差量") = datatables("表A").compute("sum("差量")","生日=\'" & s & "\'") r("说明") = datatables("表A").GetComboListString("说明","生日=\'" & s & "\'").replace("|","")……
next |
-- 作者:lovetoday -- 发布时间:2023/6/21 15:54:00 -- 老师,我接触FT的时间不长,虽然买了商业版的,但我研究半天,还真没弄出来,能否假设原数据表为:表A,终数据表为:表B,请老师帮我写下全代码,而后我再认真对比学习,谢谢老师! |
-- 作者:有点蓝 -- 发布时间:2023/6/21 16:15:00 -- for each s as string in datatables("表A").getvalues("生日") dim r as row = tables("表B").addnew r("运生_差量") = datatables("表A").compute("sum("运生_差量")","生日=\'" & s & "\'") r("运生_说明") = datatables("表A").GetComboListString("运生_说明","生日=\'" & s & "\'").replace("|","") r("销运_差量") = datatables("表A").compute("sum("销运_差量")","生日=\'" & s & "\'") …… next |
-- 作者:lovetoday -- 发布时间:2023/6/23 9:15:00 -- 老师,我按您的这个代码做相应的表格调整后,系统提示:运生_差量 不属于 表B,您看这是什么问题,谢谢 |
-- 作者:有点蓝 -- 发布时间:2023/6/24 20:26:00 -- 说明列名不正确,自己打开表结构看看正确的列名 |
-- 作者:lovetoday -- 发布时间:2023/6/28 12:05:00 -- 老师,我是真心解决不了这个,我把全代码给您发出来,您看看 Dim ny As WinForm.TextBox = e.Form.Controls("TextBox188") e.form.controls("TextBox199").Text = e.form.controls("TextBox188").Text e.form.controls("TextBox200").Text = e.form.controls("TextBox188").Text Dim g As New GroupTableBuilder("统计表1", DataTables("明细根表")) g.Groups.AddDef("运输审核_结算月") g.Groups.AddDef("运输审核_生日", "生日") g.Groups.AddDef("FZSYXCCFMC") g.Groups.AddDef("生产信息_等级强度") g.Groups.AddDef("FZSYXCBB") g.Groups.AddDef("FZSYXCBZ") g.Groups.AddDef("FZSYXCLX", "类型") g.Groups.AddDef("FZSYXCYCSM", "异常_说明") g.Totals.AddDef("FZSYXCYS", "运生_差量") g.Totals.AddDef("FZSYXCXY", "销运_差量") g.Totals.AddDef("FZSYXCXS", "销生_差量") g.Filter = "[运输审核_结算月] = \'" & ny.text & "\' and [FZSYXCB] is not Null" Tables("统计总表_Table175").DataSource = g.BuildDataSource() DataTables("统计总表_Table175").DataCols.Add("运生_说明", GetType(String), 255 , "IIF([运生_差量] = 0 , Null ,IIF([类型] = \'多记\' or [类型] = \'少记\' or [类型] = \'他产\' or [类型] = \'取样\' or [类型] = \'报废\' or [类型] = \'不结\',[FZSYXCCFMC] + [FZSYXCBZ] + [类型] + [运生_差量] + \'方\' + [生产信息_等级强度] + \';\',IIF([类型] = \'多产\' or [类型] = \'少产\' or [类型] = \'自运\' or [类型] = \'多签\' or [类型] = \'少签\' ,[FZSYXCCFMC] + [类型] + [运生_差量] + \'方\' + [生产信息_等级强度] + \';\',IIF([类型] = \'剩料\' or [类型] = \'退料\' ,[FZSYXCCFMC] + [类型] + [运生_差量] + \'方\' + [FZSYXCBB] + [FZSYXCBZ], IIF([类型] = \'异日\' ,[FZSYXCCFMC] + [FZSYXCBZ] + \'运输\' + [运生_差量] + \'方\' + [生产信息_等级强度] + \';\',NuLL )))))") DataTables("统计总表_Table175").DataCols.Add("销运_说明", GetType(String), 255 , "IIF([销运_差量] = 0 , Null ,IIF([类型] = \'多记\' or [类型] = \'少记\' or [类型] = \'他产\' or [类型] = \'取样\' or [类型] = \'报废\' or [类型] = \'不结\',[FZSYXCCFMC] + [FZSYXCBZ] + [类型] + [销运_差量] + \'方\' + [生产信息_等级强度] + \';\',IIF([类型] = \'多产\' or [类型] = \'少产\' or [类型] = \'自运\' or [类型] = \'多签\' or [类型] = \'少签\' ,[FZSYXCCFMC] + [类型] + [销运_差量] + \'方\' + [生产信息_等级强度] + \';\',IIF([类型] = \'剩料\' or [类型] = \'退料\' ,[FZSYXCCFMC] + [类型] + [销运_差量] + \'方\' + [FZSYXCBB] + [FZSYXCBZ], Null ))))") DataTables("统计总表_Table175").DataCols.Add("销生_说明", GetType(String), 255 , "IIf([销生_差量] = 0 , Null ,IIF([类型] = \'多记\' or [类型] = \'少记\' or [类型] = \'他产\' or [类型] = \'取样\' or [类型] = \'报废\' or [类型] = \'不结\',[FZSYXCCFMC] + [FZSYXCBZ] + [类型] + [销生_差量] + \'方\' + [生产信息_等级强度] + \';\',IIF([类型] = \'多产\' or [类型] = \'少产\' or [类型] = \'自运\' or [类型] = \'多签\' or [类型] = \'少签\' ,[FZSYXCCFMC] + [类型] + [销生_差量] + \'方\' + [生产信息_等级强度] + \';\',IIF([类型] = \'剩料\' or [类型] = \'退料\' ,[FZSYXCCFMC] + [类型] + [销生_差量] + \'方\' + [FZSYXCBB] + [FZSYXCBZ], IIF([类型] = \'异日\' ,[FZSYXCCFMC] + [FZSYXCBZ] + \'销售\' + [销生_差量] + \'方\' + [生产信息_等级强度] + \';\',NuLL )))))") Tables("统计总表_Table175").Cols("运生_差量").Move(7) Tables("统计总表_Table175").Cols("运生_说明").Move(8) Tables("统计总表_Table175").Cols("销运_差量").Move(9) Tables("统计总表_Table175").Cols("销运_说明").Move(10) Tables("统计总表_Table175").Cols("销生_差量").Move(11) Tables("统计总表_Table175").Cols("销生_说明").Move(12) Tables("统计总表_Table175").Cols("运输审核_结算月").Visible = False Tables("统计总表_Table175").Cols("FZSYXCCFMC").Visible = False Tables("统计总表_Table175").Cols("生产信息_等级强度").Visible = False Tables("统计总表_Table175").Cols("FZSYXCBB").Visible = False Tables("统计总表_Table175").Cols("FZSYXCBZ").Visible = False Tables("统计总表_Table175").AutoSizeCols() With DataTables("统计总表_Table176") .DataCols("第一列").Caption = "生日" .DataCols("第二列").Caption = "运生_差量" .DataCols("第三列").Caption = "运生_说明" .DataCols("第四列").Caption = "销运_差量" .DataCols("第五列").Caption = "销运_说明" .DataCols("第六列").Caption = "销生_差量" .DataCols("第七列").Caption = "销生_说明" .DataCols("第八列").Caption = "异常_说明" .BuildHeader() End With For Each s As String In DataTables("统计总表_Table175").getvalues("生日") Dim r As Row = Tables("统计总表_Table176").addnew r("运生_差量") = DataTables("统计总表_Table175").compute("sum(FZSYXCYS)", "生日=\'" & s & "\'") r("运生_说明") = DataTables("统计总表_Table175").GetComboListString("运生_说明", "生日=\'" & s & "\'").replace("|", "") r("销运_差量") = DataTables("统计总表_Table175").compute("sum(FZSYXCXY)", "生日=\'" & s & "\'") r("销运_说明") = DataTables("统计总表_Table175").GetComboListString("销运_说明", "生日=\'" & s & "\'").replace("|", "") r("销生_差量") = DataTables("统计总表_Table175").compute("sum(FZSYXCXS)", "生日=\'" & s & "\'") r("销生_说明") = DataTables("统计总表_Table175").GetComboListString("销生_说明", "生日=\'" & s & "\'").replace("|", "") r("异常_说明") = DataTables("统计总表_Table175").GetComboListString("异常_说明", "生日=\'" & s & "\'").replace("|", "") Next 运行后错误的提示是: .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2022.6.12.1 错误所在事件:窗口,统计总表,Button182,Click 详细错误信息: 未找到列 [FZSYXCYS]。 请老师,帮我看下, |
-- 作者:有点蓝 -- 发布时间:2023/6/28 13:37:00 -- Dim r As Row = Tables("统计总表_Table176").addnew r("第一列") = DataTables("统计总表_Table175").compute("sum(运生_差量)", "生日=\'" & s & "\'")
|
-- 作者:lovetoday -- 发布时间:2023/6/28 14:25:00 -- 老师,刚才的问题已经解决,但还有一个就是,如何在表176的第一列中显示表175的生日列数据,也就是01 02 03-31日 还有就是原表176的上面还有10行是空着的,这些数据并没有顶行显示,还要如何解决这些,请老师帮忙处理下
|
-- 作者:有点蓝 -- 发布时间:2023/6/28 14:45:00 -- 给第一列赋值生日不就行了 空行先清空表格再增加数据不就行了
|