以文本方式查看主题

-  易表在线答疑  (http://www.egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://www.egrid2000.com/dvbbs/list.asp?boardid=2)
----  请教 公式问题  (http://www.egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=28183)

--  作者:薛世隆
--  发布时间:2015/10/20 18:56:00
--  请教 公式问题

销售盘点表中  有一个 货柜号 的列  想通过公式  改变  库存中 货柜号的 内容   在销售盘点表中 的  行验证公式 用以下 公式

EvalFor("库存","货柜号",[货柜号],"货品名称", "=" ,[货品名称])

and EvalFor("库存","结转时间",[本次盘点日期],"货品名称", "=" ,[货品名称])

 

这两个公式  在一个行验证公式中 第二行 的 结转时间 能正确执行   第一行的  货柜号  不能正确执行 

 

如果 货柜号的内容  改为  数字  如 “2010”   库存中可以显示货柜号2010    如果货柜号是 0201   则 库存表中 显示为 201  如果 货柜号的内容是 K2010  则库存表中 不显示 

 

试过 改  货柜号 列的 数据类型 为  数值   字符  时间型  都不行

 

  

请教  老师

 

 

谢谢


--  作者:dancedy
--  发布时间:2015/10/20 21:36:00
--  

Evalfor("库存","货柜号","findtext(""销售盘点表"",""货柜号"",""货品名称"",""="",[货品名称])")


--  作者:薛世隆
--  发布时间:2015/10/20 22:25:00
--  
谢谢您  老师  
试过了您给的公式   还是没有结果  
 公式写成这样

Evalfor("库存","货柜号","K2010")  没有结果    但是写成这样

Evalfor("库存","货柜号","2010")   就有 2010  这个结果 

Evalfor("库存","货柜号","0201")   就有 201  这个结果

加个字母 就不 行了     没有结果

两个表中的 货柜号的列类型 现在 都是  字符型的

[此贴子已经被作者于2015/10/20 22:26:46编辑过]

--  作者:iyplx2425
--  发布时间:2015/10/21 10:11:00
--  
试了下,用EvalFor("表2","第一列","""K"" + ""2010""")可以解决。原因嘛,只能由易表设计者解答了。
--  作者:iyplx2425
--  发布时间:2015/10/21 10:15:00
--  
上面的解释是错误的。应该是EvalFor("表2","第一列","""K2010""")。因为在公式里面,重算的计算公式中的字符必须是用双引号。K2010是字符,所以要用""""。
--  作者:iyplx2425
--  发布时间:2015/10/21 10:16:00
--  
你的文件中应该是:Evalfor("库存","货柜号","""K2010""") 。
--  作者:dancedy
--  发布时间:2015/10/21 21:49:00
--  

传示例文件看看


--  作者:薛世隆
--  发布时间:2015/10/21 22:28:00
--  

谢谢  老师

 

 EvalFor("库存","货柜号","""""""" + [货柜号] +"""""""","货品名称", "=" ,[货品名称])   改成这样  能得到 “K2010"的结果   如果把引号 减少    就没有结果 变成了 " + [货柜号] +"   这样的结果


--  作者:薛世隆
--  发布时间:2015/10/21 22:41:00
--  

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

  公式写在 销售盘点表的  第七列  的 刷新公式

  请  老师指点 

谢谢


--  作者:smileboy
--  发布时间:2015/10/22 8:41:00
--  
计算同一列用这个刷新公式没有意义,刷新一次就加一对引号。