以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]数据转移  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=1482)

--  作者:iyplx2425
--  发布时间:2012/1/9 14:09:00
--  [求助]数据转移
文件中,表1 中第一列每行对应着从第四列起至第八列止的数据,为方阵形的,现欲将其转换为表2 所示直线形,对应的列名与数据分别转移到第二列与第三列,空白行无须转移。请教怎么弄。谢谢了!
--  作者:iyplx2425
--  发布时间:2012/1/9 14:11:00
--  
egd文件下载
--  作者:iyplx2425
--  发布时间:2012/1/9 15:29:00
--  
egd文件下载
老师你好。或者换一种方式吧。上传的文件中表3,第三列引用表1中第一列对应的行的数据,条件是表3 中第二列与表1中相对应的列的数据相同。谢谢。
--  作者:wjq1072
--  发布时间:2012/1/9 16:37:00
--  
FindText("表1",[第二列],"第一列","=",[第一列])
--  作者:dancedy
--  发布时间:2012/1/9 16:49:00
--  
egd文件下载
--  作者:iyplx2425
--  发布时间:2012/1/10 8:01:00
--  
FindText("表1",[第二列],"第一列","=",[第一列])
FindText()的这种用法我还是第一次看到。
第二个参数[第二列]是指返回该列内容,但表1中[第二列]是空白的啊,老师能不能给解释一下,知道原理了,以后就会记得用了。谢谢!
--  作者:wjq1072
--  发布时间:2012/1/10 9:42:00
--  
FindText()的语法应该比较清楚了

FindText(Grid,Col,CompareCol,CompareMode,CompareValue,Position)

Grid        在表中进行查找,可以用表名表示,也可以用位置表示。-----这个指哪个表?
Col         返回该列的内容,可以用列名称表示,也可以用位置表示。---这个指哪个列?
CompareCol  进行比较的列,可以用列名称表示,也可以用位置表示。-----这个指哪个列?
CompareMode  比较方式,包括=、>、<、>=、<=、<>、Like、Instr共8种比较方式。
CompareValue 比较值
Position     这个参数决定返回第几个符合条件的行的数据,如果省略,则返回第一个符合条件的行,如果设为-1,则返回最后一个符合条件的行。

-=-=-=- 以下内容由 wjq10722012年01月10日 09:49am 时添加 -=-=-=-
Col         返回该列的内容,可以用列名称表示,也可以用位置表示。---这个指哪个列?
================================
现在使用表2的[第二列],其内容不恰恰正是对应的表1各个“列”的列名称吗?


--  作者:iyplx2425
--  发布时间:2012/1/10 11:38:00
--  
按我的理解,第二个参数[第二列]应该是指表1中的[第一列]吧?我把实用的文件发过来,请老师看看,在“日报录入”表中[标准工价]一列的刷新公式应该怎么写。我自己写的导入不了“deb”中的相应数据。谢谢了。egd文件下载
--  作者:wjq1072
--  发布时间:2012/1/10 12:50:00
--  
1、你的示例文件与实际文件相差太大啦!

2、两个表的“工序代码”不配套下面公式就不能作为条件应用;

3、公式应该是:
FindText("deb",[工段]+"类工价_"+[工序名称],"产品代码", "=" ,[产品代码],"零部件图号","=",[零部件图号])

其中:[工段]+"类工价_"+[工序名称]--------就是“deb”表中符合条件的对应列名称!
这里需要一点点“悟心”哦!


--  作者:iyplx2425
--  发布时间:2012/1/10 14:09:00
--  
根据老师出的考题,我把公式改成:FindText("deb",[加工类别]+"工价_"+[工序名称],"产品代码", "=" ,[产品代码],"零部件图号","=",[零部件图号])。前面三行都 对,不知为什么第4行就不对了。请指教。egd文件下载