以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 多表内容的提取 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86007) |
-- 作者:260964006 -- 发布时间:2016/6/7 17:52:00 -- 多表内容的提取 有价格表2015、价格表2016、价格表2014~~,这些表的结构完全一样。含零件图号、零件名称、车型、价格等。 现我需要一张汇总表:1、当上述表增加零件图号时,就把新零件图号增加到汇总表,但是不重复。2、通过零件图号导入零件名称、车型。3、不同列导入价格,即第一列的价格来源价格表2014,第一列的价格来源价格表2015,第一列的价格来源价格表2016.如果此图号仅在某一表有价格,那就此列有数据,其他列为空。 能否实现,谢谢 |
-- 作者:狐狸爸爸 -- 发布时间:2016/6/8 8:01:00 -- 第一个问题,参考: http://www.foxtable.com/help/topics/2490.htm
第二个和第三个问题,参考: http://www.foxtable.com/help/topics/1458.htm
先参考上述帮助解决,如果搞不定,可以上传例子。
|
-- 作者:260964006 -- 发布时间:2016/6/14 11:15:00 -- If e.Row("车型") IsNot "售后" Then 图号 = \'" & e.OldValue & "\'") 图号 = \'" & e.DataRow("零件图号") & "\'") 增加功能已经具有了,但是还有判断没有实现: 1、“车型”不是“售后”才执行此程序。 2、汇总表来自多表零件图号一致时,仅增加一行。 |
-- 作者:大红袍 -- 发布时间:2016/6/14 12:25:00 -- If e.DataRow("车型") <> "售后" Then Select Case e.DataCol.name Case "零件图号" Dim dr As DataRow = DataTables("价格汇总表").Find("零件图号 = \'" & e.OldValue & "\'") If dr Is Nothing Then dr = DataTables("价格汇总表").AddNew() dr("零件图号") = e.DataRow("零件图号") dr("零件名称") = e.DataRow("零件名称") dr("车型") = e.DataRow("车型") Else dr("零件图号") = e.DataRow("零件图号") End If Case "零件名称","车型" Dim dr As DataRow = DataTables("价格汇总表").Find("零件图号 = \'" & e.DataRow("零件图号") & "\'") If dr IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If End Select End If |
-- 作者:260964006 -- 发布时间:2016/6/14 14:07:00 -- 2、汇总表来自多表零件图号相同时,仅增加一行不能实现。如图,我希望只显示一行的图号就可以了。 随便问句:怎么固定按某一列排序显示,每次登陆都变化为按序号去了。 |
-- 作者:大红袍 -- 发布时间:2016/6/14 14:18:00 -- If e.DataRow("车型") <> "售后" Then Select Case e.DataCol.name Case "零件图号" If e.newvalue > "" Then Dim dr As DataRow = DataTables("价格汇总表").Find("零件图号 = \'" & e.newValue & "\'") If dr Is Nothing Then dr = DataTables("价格汇总表").AddNew() dr("零件图号") = e.DataRow("零件图号") dr("零件名称") = e.DataRow("零件名称") dr("车型") = e.DataRow("车型") End If End If Case "零件名称","车型" Dim dr As DataRow = DataTables("价格汇总表").Find("零件图号 = \'" & e.DataRow("零件图号") & "\'") If dr IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If End Select End If |
-- 作者:260964006 -- 发布时间:2016/6/14 14:27:00 --
上述程序使这些价格表2015、价格表2016、价格表2014~~,不能录入相同图号了。 目的是使这些非关系的价格表2015、价格表2016、价格表2014~~,主要信息汇总,汇总唯一性是零件图号。但不能限制原表的任何东西。 |
-- 作者:大红袍 -- 发布时间:2016/6/14 15:08:00 -- 6楼代码,不会影响各个表录入任意数据的啊。 |
-- 作者:260964006 -- 发布时间:2016/6/14 16:43:00 -- If e.DataCol.Name = "零件图号" Then e.DataRow("零件图号") & "\'" ) 后") 后") e.DataRow("零件图号") & "\'" ) 后") 后") 第二、第三个问题没有数据过来。而且希望是同步更新的那种。 |
-- 作者:大红袍 -- 发布时间:2016/6/14 16:55:00 -- 拷贝6楼的代码,写到各个表(2014、2015、2016)的datacolchanged事件去 |