易表在线答疑技术与交流用户社区 → [求助] 如何在公式中给新增加的表的列设置刷新公式?


  共有7157人关注过本帖树形打印复制链接

主题:[求助] 如何在公式中给新增加的表的列设置刷新公式?

帅哥哟,离线,有人找我吗?
hcy1185
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:90 积分:30 威望:0 精华:0 注册:2010/5/3 11:30:00
[求助] 如何在公式中给新增加的表的列设置刷新公式?  发帖心情 Post By:2011/8/3 8:18:00 [只看该作者]

如何在公式中给新增加的表的列设置刷新公式?

 回到顶部
帅哥哟,离线,有人找我吗?
wjq1072
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2011/8/3 8:20:00 [只看该作者]

SetColFormula()

在运行过程中动态设置指定列的刷新公式。

语法
SetColFormula(Grid,Col,Formula)
Grid       指定表,可以用表名称,也可以用表位置表示。
Col        指定列,可以用列名称,也可以用列位置表示。
Formula    刷新公式。

例子
SetColFormula(GridName,"金额","[数量]*[单价]*(1-[折扣])")

提示:如果刷新公式中有引号,那么公式用两个引号表示一个,具体写法:

1、按照常规写出刷新公式:
SetColFormula(GridName,"型号",FindText("产品资料","品名","编号","=",[编号]))

2、将刷新公式中的每个双引号分别用连续的两个双引号代替:
SetColFormula(GridName,"型号",FindText(""产品资料"",""品名"",""编号"",""="",[编号]))

3、最后给刷新公式的两端加上双引号:
SetColFormula(GridName,"型号","FindText(""产品资料"",""品名"",""编号"",""="",[编号])")


 回到顶部
帅哥哟,离线,有人找我吗?
hcy1185
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:90 积分:30 威望:0 精华:0 注册:2010/5/3 11:30:00
  发帖心情 Post By:2011/8/3 8:42:00 [只看该作者]

我用公式了,但增加的表列不显示刷新公式,请老师检查一下:
If([%年度数%] <= 1,MsgBox("你要概算就填写年数!",0),If(MsgBox("你确定要把概算分为"+Text([%年度数%])+"年计划吗?",2,4),Eval(mid(Rept(" And RemoveGrid(3)",Grids-2),5)) And Eval(mid(Rept(" And CreateGrid(""第""+Text(Grids-1)+""年"",""单位工程名称"",0,""单位"",0,""工程量"",1,""单价"",1,""概算价值"",1,""指标"",1,""审核"",3)",[%年度数%]),5)) And Eval("ClearGrid("""+Substitute(Substitute(Substitute(ListGrids(),"概算|",""),"辅助|",""),"|",""") And ClearGrid(""")+""")") And Eval("CopyRows("""+Substitute(Substitute(Substitute(ListGrids(),"概算|",""),"辅助|",""),"|",""") And CopyRows(""")+""")") And Eval("DelRow("""+Substitute(Substitute(Substitute(ListGrids(),"概算|",""),"辅助|",""),"|",""",1) And DelRow(""")+""",1)") And Eval("EvalFor("""+Substitute(Substitute(Substitute(ListGrids(),"概算|",""),"辅助|",""),"|",""",""工程量"",""[工程量]/[%年度数%]"") And EvalFor(""")+""",""工程量"",""[工程量]/[%年度数%]"")") And Eval("EvalFor("""+Substitute(Substitute(Substitute(ListGrids(),"概算|",""),"辅助|",""),"|",""",""概算价值"",""[概算价值]/[%年度数%]"") And EvalFor(""")+""",""概算价值"",""SetColFormula(GridName,""概算价值"",""[工程量]/[%年度数%]*[单价]"")"")"), True )) And ClearGrid("辅助") And CopyRows("辅助") And DelRow("辅助",1) And SetVariable("%A%",1) And Eval(mid(Rept(" And DeleteCol(""辅助"",2)",[辅助!Cols]-1),5)) And Eval(mid(Rept(" And AddCol(""辅助"",""工程量""+Text([%A%]),1, True ) And AddCol(""辅助"",""概算价值""+Text([%A%]),1, True ) And SetVariable(""%A%"",[%A%]+1)",[%年度数%]),5))

-=-=-=- 以下内容由 hcy11852011年08月03日 08:43am 时添加 -=-=-=-
If([%年度数%] <= 1,MsgBox("你要概算就填写年数!",0),
请问,能不能去掉此句?

 回到顶部
帅哥哟,离线,有人找我吗?
wjq1072
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2011/8/4 22:07:00 [只看该作者]


 回到顶部