易表在线答疑技术与交流用户社区 → [求助]列名是动态拼凑出来的,如何获取具体的列值


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

主题:[求助]列名是动态拼凑出来的,如何获取具体的列值

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


加好友 发短信
等级:论坛游民 帖子:11 积分:242 威望:0 精华:0 注册:2015/3/23 15:57:00
[求助]列名是动态拼凑出来的,如何获取具体的列值  发帖心情 Post By:2015/4/2 18:27:00 [显示全部帖子]

如题所示,假设一个表的某一列名称为"1号_合做数量",一般情况下该列的一个具体值可以用[1号_合做数量]来获取,但如果列名是动态拼凑出来的呢:[%前缀%]+"合做数量" ,(假设[%前缀%] = "1号_"),这种情况下又该如何获取列值呢?

我想做一个统计计件工资的表,如附件中的截图所示,[1号_工价],这个列名需要动态拼凑出来
图片点击可在新窗口打开查看此主题相关图片如下:计件工资统计.jpg
图片点击可在新窗口打开查看



if([%姓名1%] = "" and [%姓名2%] = "" ,SetVariable("%合做人数%",0), true) and 
if([%姓名1%] <> "" and [%姓名2%] = "" ,SetVariable("%合做人数%",1) and SetVariable("%合做人员%",[%姓名1%]), true) and 
if([%姓名1%] = "" and [%姓名2%] <> "" ,SetVariable("%合做人数%",1) and SetVariable("%合做人员%",[%姓名2%]), true) and 
if([%姓名1%] <> "" and [%姓名2%] <> "" ,SetVariable("%合做人数%",2), true)  
 and 
if([%合做人数%] = 0, msgbox("请选择合做人员!", 0), 
SetVariable("%合做人数%",[%合做人数%]+1) and 
SetVariable("%平均金额%",[1号_工价] * [%合做数量%] / [%合做人数%]) and
ReplaceFor("单表测试","合做数量",[%合做数量%] ,"姓名", "=", [姓名] ) and
ReplaceFor("单表测试","1号_金额",[%平均金额%],"姓名", "=", [姓名])
[此贴子已经被作者于2015/4/3 10:21:42编辑过]

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


加好友 发短信
等级:论坛游民 帖子:11 积分:242 威望:0 精华:0 注册:2015/3/23 15:57:00
  发帖心情 Post By:2015/4/3 10:23:00 [显示全部帖子]

我想做一个统计计件工资的表,如附件中的截图所示,[1号_工价],这个列名需要动态拼凑出来

图片点击可在新窗口打开查看此主题相关图片如下:计件工资统计.jpg
图片点击可在新窗口打开查看

if([%姓名1%] = "" and [%姓名2%] = "" ,SetVariable("%合做人数%",0), true) and 
if([%姓名1%] <> "" and [%姓名2%] = "" ,SetVariable("%合做人数%",1) and SetVariable("%合做人员%",[%姓名1%]), true) and 
if([%姓名1%] = "" and [%姓名2%] <> "" ,SetVariable("%合做人数%",1) and SetVariable("%合做人员%",[%姓名2%]), true) and 
if([%姓名1%] <> "" and [%姓名2%] <> "" ,SetVariable("%合做人数%",2), true)  
 and 
if([%合做人数%] = 0, msgbox("请选择合做人员!", 0), 
SetVariable("%合做人数%",[%合做人数%]+1) and 
SetVariable("%平均金额%",[1号_工价] * [%合做数量%] / [%合做人数%]) and
ReplaceFor("单表测试","合做数量",[%合做数量%] ,"姓名", "=", [姓名] ) and
ReplaceFor("单表测试","1号_金额",[%平均金额%],"姓名", "=", [姓名])
[此贴子已经被作者于2015/4/3 10:29:23编辑过]

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


加好友 发短信
等级:论坛游民 帖子:11 积分:242 威望:0 精华:0 注册:2015/3/23 15:57:00
回复:(dancedy)假设[%前缀%] = "1号_" Ev...  发帖心情 Post By:2015/4/3 11:55:00 [显示全部帖子]

非常感谢版主,终于解决了我的难题。之前我也有看到Eval这个函数,但由于是第一次学习,根本就想不到用这个函数来解决。

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


加好友 发短信
等级:论坛游民 帖子:11 积分:242 威望:0 精华:0 注册:2015/3/23 15:57:00
  发帖心情 Post By:2015/4/8 9:42:00 [显示全部帖子]

我在新增行的时候遇到问题了,列名用动态拼凑出来的时候,新增行不成功,也没有任何错误提示。请版主指点,谢谢!

SetVariable("%列名前缀%",Mid(colname, 0, 4)) and 
addRow("单表测试1","姓名,工序,[%列名前缀%]+""是否合做""",赵明达,热压,true)
或者
addRow("单表测试1","姓名,工序,Eval([%列名前缀%]+""是否合做"")",赵明达,热压,true)

[此贴子已经被作者于2015/4/8 10:19:49编辑过]

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


加好友 发短信
等级:论坛游民 帖子:11 积分:242 威望:0 精华:0 注册:2015/3/23 15:57:00
  发帖心情 Post By:2015/4/8 10:21:00 [显示全部帖子]

后来仔细想了一下,最终转过弯来了

SetVariable("%列名前缀%",Mid(colname, 0, 4)) and 
Eval("addRow(""单表测试1"","""+[%列名前缀%]+"是否合做"",true)")

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


加好友 发短信
等级:论坛游民 帖子:11 积分:242 威望:0 精华:0 注册:2015/3/23 15:57:00
回复:(dancedy)Eval("addRow(""单表测试1"",""姓名...  发帖心情 Post By:2015/4/8 10:22:00 [显示全部帖子]

谢谢!刚才就是没能转过弯来

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


加好友 发短信
等级:论坛游民 帖子:11 积分:242 威望:0 精华:0 注册:2015/3/23 15:57:00
回复:(dancedy)Eval("addRow(""单表测试1"",""姓名...  发帖心情 Post By:2015/4/9 11:11:00 [显示全部帖子]

我设置了“金额”列的刷新公式如下:
SetVariable("%列名前缀%",Mid(colname, 0, 4)) and 
Eval("Round([" + [%列名前缀%] + "单人数量] * [" + [%列名前缀%] + "工价],2)")

但没有结果返回,不知道怎么回事?

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


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


加好友 发短信
等级:论坛游民 帖子:11 积分:242 威望:0 精华:0 注册:2015/3/23 15:57:00
回复:(dancedy)Eval("round([" + mid(colname,0,4)...  发帖心情 Post By:2015/4/9 14:34:00 [显示全部帖子]

在公式生成器中得到了正确的执行结果,但在表中还是看不到值,似乎刷新公式没有反应。

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

[此贴子已经被作者于2015/4/9 14:40:52编辑过]

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


加好友 发短信
等级:论坛游民 帖子:11 积分:242 威望:0 精华:0 注册:2015/3/23 15:57:00
  发帖心情 Post By:2015/4/9 15:49:00 [显示全部帖子]

刚才第一次按照你的方法修改后成功了,但我点击“是否合做”那里弹出录入窗口后,“金额”就清空了,然后刷新公式似乎又失效了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工资统计测试.egd

[此贴子已经被作者于2015/4/9 16:00:18编辑过]

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


加好友 发短信
等级:论坛游民 帖子:11 积分:242 威望:0 精华:0 注册:2015/3/23 15:57:00
回复:(dancedy)单人数量列,操作公式:RecalcCell(...  发帖心情 Post By:2015/4/9 17:15:00 [显示全部帖子]

是因为下面的公式没有满足触发刷新的条件吗?
Eval("Round([" + [%列名前缀%] + "单人数量] * [" + [%列名前缀%] + "工价],2)")

 回到顶部
总数 12 1 2 下一页