Office中国论坛/Access中国论坛

标题: 关于数字的拆分问题: [打印本页]

作者: yanwei82123300    时间: 2012-8-14 16:00
标题: 关于数字的拆分问题:
本帖最后由 yanwei82123300 于 2012-8-14 16:01 编辑

我公司有一个做箱单的数据,其中有一个字段:包装箱数(这个成品共包装多少箱?)例如:
产品:118546,描述:MODULE POWER G4-16 00  订单数量:12EA,包装箱数:6,箱包装数量(每箱包装数量):2
请问我怎样才能将上面的数据对包装箱数:6进行拆分:
1 118546,描述:MODULE POWER G4-16 00  箱包装数量:2
2 118546,描述:MODULE POWER G4-16 00  箱包装数量:2
3 118546,描述:MODULE POWER G4-16 00  箱包装数量:2
4 118546,描述:MODULE POWER G4-16 00  箱包装数量:2
5 118546,描述:MODULE POWER G4-16 00  箱包装数量:2
6 118546,描述:MODULE POWER G4-16 00  箱包装数量:2
,谢谢大家帮助
作者: todaynew    时间: 2012-8-14 21:18
本帖最后由 todaynew 于 2012-8-14 21:20 编辑

没什么意义,做六次循环输出都多余。
作者: 风中漫步    时间: 2012-8-15 12:37
木明白????????????????
作者: yanwei82123300    时间: 2012-8-15 16:24
这是我公司的做箱单的数据:
creat no 就是包装箱数拆分成的(序列号1-6)
图片数量:箱包装数量(每箱包装数量):
图片标注的LN:co line
请帮助看看怎样拆分这个数据使它变成一条一条数据,谢谢
作者: yanwei82123300    时间: 2012-8-15 16:24
包装箱数是动态的!
作者: yanwei82123300    时间: 2012-8-15 16:25
订单数量是:12 ea
作者: roych    时间: 2012-8-15 22:54
确实没有多大意义……不过,偶尔我也会做些并没有什么意义的事情。{:soso_e128:}
[attach]50172[/attach]
作者: yanwei82123300    时间: 2012-8-16 08:23
roych 老师谢谢帮助!请问如果里面有若干个“产品”怎样才能一次性生成temp临时表,而不会每个产品挨个点击!
作者: roych    时间: 2012-8-16 18:18
本帖最后由 roych 于 2012-8-16 18:25 编辑
yanwei82123300 发表于 2012-8-16 08:23
roych 老师谢谢帮助!请问如果里面有若干个“产品”怎样才能一次性生成temp临时表,而不会每个产品挨个点击 ...


打开两个记录集,嵌套循环~~~我觉得,有些时候,您应该思考一下解决方案。当写不出代码的时候,就用一些伪代码来试一下,这样至少可以摸索出一些思路,对编程思想多少也有所帮助。否则下次遇到类似的问题时,您还得发帖求助。

[attach]50176[/attach]
作者: yanwei82123300    时间: 2012-8-16 19:13
roych 老师谢谢您的帮助,现在我修改了一下源文件(在tblPacklistdetail表中添加“包装号”这个字段,它的值是惟一的),现在怎样才能做到依据"包装号"这个字段进行排序呢
1.我修改您的代码,
2,所要结果见图片
3,更新的文件
谢谢帮助1!!
作者: yanwei82123300    时间: 2012-8-16 19:15
包装号:就是这个产品的包装号,包装箱号就是这个包装号下面的第几箱(包装号\包装箱号\.....)
作者: roych    时间: 2012-8-18 22:31
修改字段“包装箱号”为长整型或者其它数值型数据类型。网速不给力,不传附件了,代码如下:
  1. Private Sub Command10_Click()
  2. Dim rst As New ADODB.Recordset
  3. Dim rst2 As New ADODB.Recordset
  4. Dim s As Long
  5. s = 1
  6. If Me.箱包装数量 > 0 Then
  7.     rst.Open "temp", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  8.     rst2.Open "tblPacklistdetail", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  9.     For j = 1 To rst2.RecordCount
  10.         For i = 1 To rst2("订单数量") / rst2("箱包装数量")
  11.             rst.AddNew
  12.             rst("产品号") = rst2("产品号")
  13.             rst("产品描述") = rst2("产品描述")
  14.             rst("订单数量") = rst2("订单数量") / rst2("箱包装数量")
  15.             rst("包装箱号") = s
  16.             rst("箱包装数量") = rst2("箱包装数量")
  17.             rst("包装号") = rst2("包装号")
  18.             rst.Update
  19.             s = s + 1
  20.         Next
  21.         rst2.MoveNext
  22.     Next
  23. End If
  24. rst.Close
  25. MsgBox "Done"
  26. End Sub
复制代码
请好好理解变量的【生命周期】。
作者: yanwei82123300    时间: 2012-8-20 09:26
roych老师:
按照您的代码做了,但是出现一个问题:
我的目的是
同一运单号号下面
的数据进行包装号的排序。
您的代码是将所有数据进行排序了。
请帮助修改一下,谢谢:

ShipmentNO (运单号)
PackageNo   (包装号)
Pack_qty  箱包装数量(每箱包装数量):
作者: yanwei82123300    时间: 2012-8-20 09:53
首先已经运单号,然后依据 包装号,生成包装箱号
作者: yanwei82123300    时间: 2012-8-20 16:05
请大家看看:
突然发现一个问题,也许是没有弄清楚做箱单的程序:
例如一个订单:订单数量是12 每箱装2台 包装号1 里面 装了3 箱 (即包装箱号 1 2 3;每箱2台);包装号15装了3箱(即包装箱号 1 2 3;每箱2台),共计:2个包装号 6箱
如果按照roych 老师的代码运算就会出现重复数据:包装号1 装了6 箱;包装号15装了6箱.
作者: roych    时间: 2012-8-21 22:24
rst("订单数量") = rst2("订单数量") / rst2("箱包装数量")

请注意,这一句代码是把订单全部分装的。订单数量是12,每箱装2台,自然得到:12/2=6箱了。这完全是根据你之前的流程来写的代码。
而如今看来,你的流程根本不是这样,而是:在分装过程中,先把订单分为多个包装号,再由每个包装号分装到包装箱。
因此,先要计算出每张订单由几个包装号组成,再根据每一张包装号的订单数进行分箱。

对于同一个问题,我是向来经不起一再折腾的,这个问题我想我不会再关注了。而且思路讲得也是相当清楚了,相信你可以完成的。
作者: yanwei82123300    时间: 2012-8-22 07:57
roych 老师谢谢帮助了,打搅您了!!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3