以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请问这段for each 语句哪里出错了?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=46868)

--  作者:akzzwj
--  发布时间:2014/2/28 14:51:00
--  请问这段for each 语句哪里出错了?

For Each r As Row In Tables("成本核算单").Rows
    If r("面料类别") = "机织面料" And r("订单数量") <= r("坯布机织最低量") Then
        r("坯布单价") = r("坯布供应商报价") + r("坯布放样费")
    Else
        r("坯布单价") = r("坯布供应商报价")
    End If
Next

For Each r As Row In Tables("成本核算单").Rows
    If r("面料类别") = "机织面料" And r("订单数量") <= r("染色机织最低量") Then
        r("染色单价") = r("染色供应商报价") + r("染色小缸费")
    Else
        r("染色单价") = r("染色供应商报价")
    End If
Next

For Each r As Row In Tables("成本核算单").Rows
    If r("面料类别") = "机织面料" And r("订单数量") <= r("印花机织最低量") Then
        r("印花单价") = r("印花供应商报价") + r("印花上机费")+ r("印花描稿费")+ r("印花开版费")
    Else
        r("印花单价") = r("印花供应商报价")
    End If
Next

For Each r As Row In Tables("成本核算单").Rows
    If r("面料类别") = "针织面料" And r("订单数量") <= r("坯布针织最低量") Then
        r("坯布单价") = r("坯布供应商报价") + r("坯布上机费")
    Else
        r("坯布单价") = r("坯布供应商报价")
    End If
Next

For Each r As Row In Tables("成本核算单").Rows
    If r("面料类别") = "针织面料" And r("订单数量") <= r("染色针织最低量") Then
        r("染色单价") = r("染色供应商报价") + r("染色小缸费")
    Else
        r("染色单价") = r("染色供应商报价")
    End If
Next

For Each r As Row In Tables("成本核算单").Rows
    If r("面料类别") = "针织面料" And r("订单数量") <= r("印花针织最低量") Then
        r("印花单价") = r("印花供应商报价") + r("印花上机费")+ r("印花描稿费")+ r("印花开版费")
    Else
        r("印花单价") = r("印花供应商报价")
    End If
Next

 

我把上面这段代码加到TextChanged事件中,然后组合框就失效了。请问这段代码哪里出错了?


--  作者:Bin
--  发布时间:2014/2/28 14:53:00
--  
上例子吧,肉眼看不出问题.  另外你这么多次循环影响效率不说,也没看出意义.

你的需求是什么?

--  作者:lsy
--  发布时间:2014/2/28 14:58:00
--  

暂不说对与错的事,效率太低。

还不如例子发上来,照着例子全面改一下。


--  作者:akzzwj
--  发布时间:2014/2/28 15:06:00
--  

我是向实现这样的效果:

如果 面料类别=机织面料 且 订单数量≤坯布机织最低量 则 坯布单价=坯布供应商报价+坯布放样费
如果 面料类别=机织面料 且 订单数量≤染色机织最低量 则 染色单价=染色供应商报价+染色小缸费
如果 面料类别=机织面料 且 订单数量≤印花机织最低量 则 印花单价=印花供应商报价+印花上机费+印花描搞费+印花开版费


如果 面料类别=针织面料 且 订单数量≤坯布针织最低量 则 坯布单价=坯布供应商报价+坯布上机费
如果 面料类别=针织面料 且 订单数量≤染色针织最低量 则 染色单价=染色供应商报价+染色小缸费
如果 面料类别=针织面料 且 订单数量≤印花针织最低量 则 印花单价=印花供应商报价+印花上机费+印花描搞费+印花开版费

 

 

例子详见附件

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


--  作者:Bin
--  发布时间:2014/2/28 15:14:00
--  
你这是项目,不是例子.

如果把项目发上来,就应该告诉别人要操作哪里,那个表,那个窗口.

需求也要描述清楚是谁和谁,否则几十个表几十个窗口,别人如何帮助你呢?

--  作者:akzzwj
--  发布时间:2014/2/28 15:17:00
--  
在 生产管理 目录 成本核算单_编辑 窗口
--  作者:Bin
--  发布时间:2014/2/28 15:18:00
--  
在这个窗口,然后呢?
--  作者:akzzwj
--  发布时间:2014/2/28 15:21:00
--  
计算 各种条件下 坯布单价 染色单价 印花单价
--  作者:lsy
--  发布时间:2014/2/28 15:23:00
--  
For Each r As Row In Tables("成本核算单").Rows
    Select Case r("面料类别")
        Case "机织面料"
            r("坯布单价") = IIF(r("订单数量") <= r("坯布机织最低量"),r("坯布供应商报价") + r("坯布放样费"),r("坯布供应商报价"))
            r("染色单价") = IIF(r("订单数量") <= r("染色机织最低量"),r("染色供应商报价") + r("染色小缸费"),r("染色供应商报价"))
            r("印花单价") = IIF(r("订单数量") <= r("印花机织最低量"),r("印花供应商报价") + r("印花上机费")+ r("印花描稿费")+ r("印花开版费"),r("印花供应商报价"))
        Case "针织面料"
            r("坯布单价") = IIF(r("订单数量") <= r("坯布针织最低量"),r("坯布供应商报价") + r("坯布上机费"),r("坯布供应商报价"))
            r("染色单价") = IIF(r("订单数量") <= r("染色针织最低量"),r("染色供应商报价") + r("染色小缸费"),r("染色供应商报价"))
            r("印花单价") = IIF(r("订单数量") <= r("印花针织最低量"),r("印花供应商报价") + r("印花上机费")+ r("印花描稿费")+ r("印花开版费"),r("印花供应商报价"))
    End Select
Next

--  作者:akzzwj
--  发布时间:2014/2/28 16:21:00
--  
生产管理→成本核算单_编辑 窗口  在“状态”列组合框 自定义项目里 我 定义了 “进行中 已完成”,可是我在测试的时候,点击 组合框 的下拉列表中 选定 已完成 组合框中没有任何反应。请问这是为什么?