以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]自定义的公式如何代入? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70036) |
||||
-- 作者:sxcspring -- 发布时间:2015/6/15 8:57:00 -- [求助]自定义的公式如何代入? 一个工艺规程表,一张产品表,需要求解【产品表】中“宽度”对应的“箱长”。对应关系如下: 按【产品表】的“宽度”检索【工艺规程】中符合条件的“公式”,条件是:“宽度MIN”<“宽度”<“宽度MAX”。 检索到【工艺规程】中该行后,调用这行的“公式”计算【产品表】的“箱长”。
“公式”中字母“L”就是【产品表】中的产品“宽度”,现在的问题是: “公式”列为字符,如何调用作为数学公式计算?
如:产品A宽度为450,满足400<450<500,则A的“箱长”调用【工艺规程】第一行的“公式”:"2*L+250",那么,A的“箱长”=2*450+250=1150。 可实际, 命L为整数,且L=e.DataRow(“宽度”)时,不能得出e.DataRow(“箱长”)=dr(“公式") =1150,怎么办?
此主题相关图片如下:1111.jpg 此主题相关图片如下:2222.jpg |
||||
-- 作者:sxcspring -- 发布时间:2015/6/15 9:40:00 -- 哪位专家、大师,跪求解决方案~~~~~~~~~~ |
||||
-- 作者:大红袍 -- 发布时间:2015/6/15 9:45:00 -- DataColChanged事件
If e.DataCol.Name = "宽度" Then |
||||
-- 作者:sxcspring -- 发布时间:2015/6/15 10:37:00 -- 谢谢你,大红袍!
还有一个问题,在这个案例当中,如果是产品E,其宽度是910,管芯突出是80,对应的公式是工艺规程中的第四行:L+235+2*N。 那么以上箱长是:910+235+2*80= 1305
问题是:这里的公式多了一个管芯突出80对应N,这一段应该怎么修改: e.DataRow("箱长") = eval(fdr("公式").replace("L", e.DataRow("宽度"))) |
||||
-- 作者:sxcspring -- 发布时间:2015/6/15 10:56:00 -- 还有一个问题,在这个案例当中,如果是产品E,其宽度是910,管芯突出是80,对应的公式是工艺规程中的第四行:L+235+2*N。 那么以上箱长是:910+235+2*80= 1305
问题是:这里的公式多了一个管芯突出80对应N,这一段应该怎么修改: e.DataRow("箱长") = eval(fdr("公式").replace("L", e.DataRow("宽度")))
大师,麻烦帮忙再看看~~ |
||||
-- 作者:大红袍 -- 发布时间:2015/6/15 11:05:00 -- If e.DataCol.Name = "宽度" OrElse e.DataCol.Name = "管芯突出" Then [此贴子已经被作者于2015/6/15 11:05:18编辑过]
|