以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 【已解决】求公式 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=5070) |
||||
-- 作者:wqc360 -- 发布时间:2009/11/20 16:04:00 -- 刚做出来的书 请狐爸帮帮忙,我设置了老半天,还是搞不出来,在表属性 DataColChanged事件中设置,谢谢 一。 如果{日报表} "工作时间_起","工作时间_止","工作时间_中停"列改变 如果 ("工作时间_止")-("工作时间_中停")-("工作时间_起")小于0时
[此贴子已经被作者于2009-11-21 16:02:22编辑过]
|
||||
-- 作者:wqc360 -- 发布时间:2009/11/20 16:15:00 -- 还有八。 {日报表}【加工提示】列表属性设置为数据表{加工工艺}, 取值"工艺_加工提示", 显示"工序_序号","工序_班组","工艺_序号","工艺_加工提示" 筛选{日报表}【图号】={加工工艺}【图号】 {日报表}【班组】={加工工艺}【工序_班组】 [此贴子已经被作者于2009-11-20 16:16:36编辑过]
|
||||
-- 作者:wqc360 -- 发布时间:2009/11/20 19:33:00 -- 怎么我往产品工艺里面一加数据就死机,请帮我看看是不是表属性设置的公式有冲突 |
||||
-- 作者:梦倩 -- 发布时间:2009/11/20 20:12:00 -- 死机的话,要看看是不是有死循环,例如A由B、C算出,B由C、D算出,D由A算出,就会死机了。 |
||||
-- 作者:程兴刚 -- 发布时间:2009/11/21 8:26:00 -- 应该是,出现这种情况不能单看一个事件的代码,大多数是由多个事件代码逻辑关系死循环。 |
||||
-- 作者:wqc360 -- 发布时间:2009/11/21 8:53:00 -- 请帮我看看,类似一的有很多,我检查了没有死循环,第二和三在数据少的时候能满足要求,在我加载数据后,就不能单独运行二或三的公式了,二和三的格式我也是在论坛找坛友提供的,不知错在哪里,另外,1.2楼的有关本表2列以上的计算用表达式什么实现,请帮帮忙,谢谢 一: If e.DataCol.Name = "难度情况_材质" Then Dim dr As DataRow dr = DataTables("基础表").Find(" [材料] = \'" & e.DataRow("难度情况_材质") & "\'") If dr IsNot Nothing Then Else e.DataRow("难度系数_材质") = Nothing End If End If 二: for i as integer = 0 to Tables("基础表").count-1 if Tables("基础表").rows(i).isnull("疲劳") = false then for ii as integer = 0 to tables("产品工艺").count-1 if tables("产品工艺").rows(ii).isnull("加工工时_周期") = false then if Tables("产品工艺").rows(ii)("加工工时_周期") >= Tables("基础表").rows(i)("疲劳").split("-")(0) andalso tables("产品工艺").rows(ii)("加工工时_周期") < Tables("基础表").rows(i)("疲劳").split("-")(1) tables("产品工艺").rows(ii)("难度系数_疲劳") = Tables("基础表").rows(i)("疲劳系数") end if end if next end if next 三 if Tables("基础表").rows(i).isnull("重量") = false then for ii as integer = 0 to tables("产品工艺").count-1 if tables("产品工艺").rows(ii).isnull("难度情况_重量") = false then if Tables("产品工艺").rows(ii)("难度情况_重量") >= Tables("基础表").rows(i)("重量").split("-")(0) andalso tables("产品工艺").rows(ii)("难度情况_重量") < Tables("基础表").rows(i)("重量").split("-")(1) tables("产品工艺").rows(ii)("难度系数_重量") = Tables("基础表").rows(i)("重量系数") Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "难度系数_精度","难度系数_材质","难度系数_切削","难度系数_批量","难度系数_疲劳","难度系数_装夹","难度系数_重量","难度系数_钢性","图号" dr("标准_难度系数") = dr("难度系数_精度")+dr("难度系数_材质")+dr("难度系数_切削")+dr("难度系数_批量")+dr("难度系数_疲劳")+dr("难度系数_装夹")+dr("难度系数_重量")+dr("难度系数_钢性")+1 Case "加工工时_周期","标准_难度系数" dr("标准_工时") = dr("加工工时_周期")*dr("标准_难度系数") Case "标准_工时" dr("标准_产量") =480/ dr("标准_工时") End Select end if end if next end if next |
||||
-- 作者:blackzhu -- 发布时间:2009/11/21 14:53:00 -- 看着累! |