以文本方式查看主题 - 易表在线答疑 (http://egrid2000.com/dvbbs/index.asp) -- 用户社区 (http://egrid2000.com/dvbbs/list.asp?boardid=2) ---- 列名不同的表合并问题 (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=1242) |
-- 作者:swg-1954 -- 发布时间:2012/3/11 13:51:00 -- 列名不同的表合并问题 这个公式不能把它表的内容合并复制过来。SetLabel(" ","稍等---") And AppendFor("抄表明细采集数据库","ID,A,B,抄表顺序号,抄表段编号,用户编号,用户名称,电能表标识,示数类型,M,打印次数,上次抄见示数,本次抄见示数,本次抄见电量,重算电量,差数,U,上次抄见电量,平均电量,综合倍率,用电类别,PG,抄见位数,用电地址,E,上次抄表日期,本次抄表日期,XZ,h,F,yy,fty,C","ID,A,B,抄表顺序,抄表段编号,用户编号,用户名称,电能表资产编号,示数类型,M,打印次数,上次示数,本次示数,本次抄见电量,重算电量,差数,U,上次抄见电量,前三月平均电量,综合倍率,用电类别,PG,表位数,用电地址,E,上次抄表时间,本次抄表日期,XZ,h,F,yy,fty,C",rows) And SetLabel(" ","OK!") 这个公式不能把本表复制合并过去。SetLabel(" ","稍等---") And AppendFor("采集数据库","ID,A,B,抄表顺序,抄表段编号,用户编号,用户名称,电能表资产编号,示数类型,M,打印次数,上次示数,本次示数,本次抄见电量,重算电量,差数,U,上次抄见电量,前三月平均电量,综合倍率,用电类别,PG,表位数,用电地址,E,上次抄表时间,本次抄表日期,XZ,h,F,yy,fty,C","ID,A,B,抄表顺序号,抄表段编号,用户编号,用户名称,电能表标识,示数类型,M,打印次数,上次抄见示数,本次抄见示数,本次抄见电量,重算电量,差数,U,上次抄见电量,平均电量,综合倍率,用电类别,PG,抄见位数,用电地址,E,上次抄表日期,本次抄表日期,XZ,h,F,yy,fty,C",rows) And SetLabel(" ","OK!") 因为有几列列名不同,但列内容相同想合并一起,又不要修改列名。特请教! -=-=-=- 以下内容由 swg-1954 在 2012年03月11日 01:54pm 时添加 -=-=-=- 呵呵。第二个是这个函数CopyRows -=-=-=- 以下内容由 swg-1954 在 2012年03月11日 01:57pm 时添加 -=-=-=- 呵呵。第二个是这个函数Copyfor |
-- 作者:wjq1072 -- 发布时间:2012/3/11 14:09:00 -- 将操作的主表放在第一位置,可将后面多表的数据合并到主表(后面各表都必须有姓名列作为参考列) 在主表(名称为“合并表”)设置窗口按钮公式: ClearGrid(Grid) And Eval(mid(Rept(" And DeleteCol(Grid,2)",Cols-1),5)) And Eval("AddCol(Grid,"""+Substitute(Eval("ListCols("""+Substitute(Substitute(ListGrids(),"合并表|",""),"|",""")+""|""+ListCols(""")+""")"),"|",""",0, True ) And AddCol(Grid,""")+""",0, True )") And Eval("AppendRows("""+Substitute(Substitute(ListGrids(),"合并表|",""),"|",""") And AppendRows(""")+""")") And DelReptRows(Grid,"姓名") And DelFor(Grid,"姓名","=","") And MoveCol("姓名",1) And Eval("Eval(""EvalFor(Grid,""""""+Substitute(Substitute(Substitute(Eval(""Substitute(""""|@|#|"""",""""|"""",""""""+Substitute(Substitute(ListCols(Grid),""姓名|"",""""),""|"","""""")+""""|""""+Substitute(""""|@|#|"""",""""|"""","""""")+"""""")""),""@"","""""",""""FindText("""""""""+Substitute(Substitute(Substitute(ListGrids(),"合并表|",""),"|","/"),"/",""""""""",""""""""""),""#"","""""""""",""""""""姓名"""""""",""""""""="""""""",[姓名])"""",""""""),""|"","""""",""""="""","""""""") And EvalFor(Grid,"""""")+"""""",""""="""","""""""")"") And Eval(""EvalFor(Grid,""""""+Substitute(Substitute(Substitute(Eval(""Substitute(""""|@|#|"""",""""|"""",""""""+Substitute(Substitute(ListCols(Grid),""姓名|"",""""),""|"","""""")+""""|""""+Substitute(""""|@|#|"""",""""|"""","""""")+"""""")""),""@"","""""",""""FindText(""""""""")+""""""""",""""""""""),""#"","""""""""",""""""""姓名"""""""",""""""""="""""""",[姓名])"""","""""& |
-- 作者:swg-1954 -- 发布时间:2012/3/11 14:34:00 -- egd文件下载 |
-- 作者:wjq1072 -- 发布时间:2012/3/11 15:22:00 -- egd文件下载 -=-=-=- 以下内容由 wjq1072 在 2012年03月11日 03:32pm 时添加 -=-=-=- 你的两个表列数不一样,33、32 |
-- 作者:swg-1954 -- 发布时间:2012/3/11 16:50:00 -- 粗心那,有一表中少一列,造成公式无法运行。谢谢总版主。 |
-- 作者:wjq1072 -- 发布时间:2012/3/11 17:28:00 -- 一、可以设置两个表达式变量:(两个表的列数一样,用这个方法不容易出错!) 1、[%采集数据库%] 表达式:Substitute(ListCols("采集数据库"),"|",",") 2、[%抄表明细采集数据库%] 二、在“采集数据库”表窗口按钮设置公式:(运算好像快一些) 三、在“抄表明细采集数据库”表窗口按钮设置公式:(运算好像慢一些) |
-- 作者:swg-1954 -- 发布时间:2012/3/11 21:47:00 -- 谢谢 wjq1072 总版主,这个真好,也不易出错了,运行快多了。再次谢谢 |