以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码(3楼已作示范文件)C版请进  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=7707)

--  作者:wqc360
--  发布时间:2010/7/27 11:55:00
--  代码(3楼已作示范文件)C版请进

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目26.table

求1代码:

当零部件明细表交货数量改变时,订单序号来源于订单表的订单序号第一行,(订单表订单机型中6列打钩的为1)GE296_6梳机械_台数为订单表订单机型_GE296_6梳机械列的合计(合计条件为订单序号小于零部件明细表当前行的订单序号),GE296_7梳机械_台数为订单表订单机型_GE296_6梳机械列的合计(合计条件为订单序号小于零部件明细表当前行的订单序号),以此6个台数列合计。如果零部件明细表中6种机型的同机型台数*台用量累加-交货数量小于0时,零部件订单序号列减1,否则加1,如此循环,请高手指点,谢谢

[此贴子已经被作者于2010-7-28 3:30:28编辑过]

--  作者:czy
--  发布时间:2010/7/27 23:13:00
--  
看不明白.
--  作者:wqc360
--  发布时间:2010/7/28 3:29:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目26.table

总算做出一点能说明要求的东西了。详见附件

现在还剩下一个问题还没解决:

"零部件明细"表的"订单序号"列,能自动计算出如示范文件一样的结果。要求是:来源于"订单"表中的"订单序号"列,满足当"零部件明细"表中"剩余数量"大于0时,"订单序号"就加1,一直到小于0时,再减1就是所需数据。

(严格来讲应是"零部件明细"表中"剩余数量"大于各机型的台用量最大值时,"订单序号"就加1,一直到小于台用量最大值)

请C版帮忙看看用什么招解决,谢谢

[此贴子已经被作者于2010-7-28 10:41:42编辑过]

--  作者:wqc360
--  发布时间:2010/7/28 13:45:00
--  
各位老师,3楼红色的不能满足要求,因如果下一个订单机型太用量比较小,够一台用量,就不是我要的结果了,还是按3楼原文及黑色的要求写代码,谢谢
--  作者:mr725
--  发布时间:2010/7/28 15:02:00
--  
呵呵  有点晕······
--  作者:czy
--  发布时间:2010/7/28 21:17:00
--  

呵呵,我什么也没看出来,从数据中只看出订单序号是各台数的总和。


--  作者:wqc360
--  发布时间:2010/7/29 0:34:00
--  
哪只是巧合,我要求能自动计算出零部件明细表中订单序号列数据,如示范文件中的数据就满足要求,那是我人工试着填进去的,实际工作中,有很多行,人工试填不现实,示范文件中剩余数量都不小于0,如果订单序号再加1,剩余数量就小于0了,订单序号属从1开始的整数如1、2、3、4、5、6、.............100、101、102、..........。能不能吧订单表中订单序号列的数据设一个集合,从最小的开始往零部件明细表订单序号列中填充,零部件明细应有订单序号变化时的一些计算,当计算到剩余数量大于0时,订单序号再加1,如此循环直到最大,如当计算到剩余数量小于0时,订单序号减1既是所需数据。循环语句我还没用过,不知怎么用,是用按钮还是其他,请C版帮帮忙,谢谢了。
--  作者:blackzhu
--  发布时间:2010/7/29 8:02:00
--  
你用A,B,C等列名解释一下不就得了,有很多东西看了头晕,
--  作者:mr725
--  发布时间:2010/7/29 12:40:00
--  

觉得好像就是这样的结果:    不知道对不?

 

Dim gbr As Row = CurrentTable.current    \'零部件明细表
Dim ger As DataRow
ger = DataTables("订单").Find("机号_GE296 = " & gbr("可装机号_GE296"))
Dim bkr As DataRow
bkr = DataTables("订单").Find("机号_BKS = " & gbr("可装机号_BKS"))
If gbr.isnull("可装机号_GE296") = False And gbr.isnull("可装机号_BKS") = False
    If ger("订单序号") > bkr("订单序号")
        gbr("订单序号") = ger("订单序号")
    Else
        gbr("订单序号") = bkr("订单序号")
    End If
Elseif gbr.isnull("可装机号_GE296") And gbr.isnull("可装机号_BKS") = False
    gbr("订单序号") = bkr("订单序号")
Elseif gbr.isnull("可装机号_GE296")  = False And gbr.isnull("可装机号_BKS")
    gbr("订单序号") = ger("订单序号")
Elseif gbr.isnull("可装机号_GE296") And gbr.isnull("可装机号_BKS")
gbr("订单序号") = Nothing           \'刚补上的

End If

 

[此贴子已经被作者于2010-7-29 13:52:33编辑过]

--  作者:mr725
--  发布时间:2010/7/29 13:43:00
--  
你从剩余数量与订单序号的关系让人难与理解, 因为剩余数量=0时,订单序号还有数据,叫人发蒙啊~   所以楼上换个角度来计算 订单序号 的值,可能更好些吧......