以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  楼主,麻烦进来看看,很通用的应用场景!  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=24593)

--  作者:hao123
--  发布时间:2013/3/14 23:35:00
--  楼主,麻烦进来看看,很通用的应用场景!


图片点击可在新窗口打开查看此主题相关图片如下:select.jpg
图片点击可在新窗口打开查看

主要完成图片中所示功能:
1、选中数据。
2、根据选中数据给变量[%OrderNo%]赋值。
3、根据选中的变量值新增行:
     新增测试中:Eval("AddRow(gridname,""合同单号,客户"",""ab"","+Text(FindText("A","客户","订单编号","=","R1210001"))+")")  这样写无效。请问
     为什么?
4、根据选中的变量值更新表C当前行值。

以上,烦请版主帮下忙。谢谢!!

--  作者:lyang70
--  发布时间:2013/3/15 8:46:00
--  

疑问:是多选还是单选?

 

传文件看看!


--  作者:hao123
--  发布时间:2013/3/15 10:35:00
--  
抱歉,昨天上传后又删掉了。

现在最大的疑问是两点:

1、这个公式:
Eval("AddRow(gridname,""客户,地区"","+Text(FindText("A","客户","订单编号","=","R2001"))+","+Text(FindText("A","地区","订单编号","=","R2001"))+")")

使用时无效。FindText公式换成SumFor()可行,是否由于FindText得到的是字符串,而SunFor得到的是数值的原因???

2、易表中更新当前表格选中数据时,除了手工输入更新以外,一般用什么公式进行自动更新较好(能够通过FindText取得数据)

以上,能否帮忙看看。




--  作者:dancedy
--  发布时间:2013/3/15 10:55:00
--  
Eval("AddRow(gridname,""客户,地区"","""+FindText("A","客户","订单编号","=","R2001")+""","""+FindText("A","地区","订单编号","=","R2001")+""")")
--  作者:hao123
--  发布时间:2013/3/15 13:43:00
--  
thaks  明白了。FindText返回的是字符串比如是:buy    “”+FindText(..)+“” 就相当于 ""buy""
非常感谢!!

还有个小问题,现在有一行数据为  订单号=R001   地区=SH  人员=USER1

现在需要根据订单号更新该行数据,数据更新为:
订单号=FindText(表达式1)    
地区=FindText(表达式2)   人员 =FindText(表达式2) 

这个时候用什么公式较好?


--  作者:dancedy
--  发布时间:2013/3/15 14:24:00
--  

参考

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1501.egd


--  作者:hao123
--  发布时间:2013/3/15 14:39:00
--  
 恩。非常感谢热心帮助。

现在点新增的时候,如果表1中已存在订单号=选中订单号的数据,而表2中这条数据有修改,
则需要更新表1对应的数据,请问如何设置公式?

通过设置EvalFor(gridname,""客户"","""+FindText(...)+""",Row,Row,1)  and EvalFor(gridname,""日期"","""+FindText(...)+""",Row,Row,1)

这样会不会写麻烦了?



--  作者:dancedy
--  发布时间:2013/3/15 14:59:00
--  
如果订单编号不变,可以做个更新按钮:Do(393)------重算刷新公式
--  作者:hao123
--  发布时间:2013/3/15 16:02:00
--  
设置刷新公式进行重算,是对整个列进行重算。那么有办法  只更新表1当前行吗?

比如 表1 当前选中行  对应的订单号为 R001,其他列值为表2中订单号=R001的数据,
现在点击选中表2中的订单编号为R002,点击更新按钮:

则需要将表1中选中行的数据( 多列),分别更新为:
客户=FindText("表2",“客户”,“ 订单编号”,“=”,“R002”)
日期=FindText("表2",“日期”,“ 订单编号”,“=”,“R002”)


以上,谢谢!!




--  作者:dancedy
--  发布时间:2013/3/15 16:25:00
--  
RecalcRow(GridName,Row,Row,1)