设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4118|回复: 19
打印 上一主题 下一主题

[窗体] 包装号断号补填齐:

[复制链接]
跳转到指定楼层
1#
发表于 2013-1-19 13:32:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yanwei82123300 于 2013-1-19 16:52 编辑

包装号断号补填齐:
我有一个箱单
运单号(ShipmentNO)
包装号(PackageNo)
订单号(CONumber)
行号(Line)
订单数量(Order_Qty)
产品号(ItemNumber)
产品描述(ItemDescription)
但是,由于数据是由SQL导出的因此包装号出现断号现象,请问如何才能补齐
请见附件的例子
谢谢,帮助!!
请注意:运单号(ShipmentNO)不同,包装号会重新从1开始。!!

我做了个例子!批量拆分命令
但是现在发现一个问题:运单号(ShipmentNO)9402,只能拆分1个,其他不能拆分,包装号断号。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2013-1-19 13:49:23 | 只看该作者
全自定义自动编号,带断号检测补号功能
http://www.office-cn.net/forum.p ... 0878&fromuid=200938


建议LZ参考下
3#
 楼主| 发表于 2013-1-19 14:24:23 | 只看该作者
huangli0356 他的是自动编号!我的是IT导出的报表明细!需要自己进行补填,并将数据生成到表tblPacktemp中
4#
 楼主| 发表于 2013-1-19 14:30:36 | 只看该作者
不同的运单号,包装号会重新从1计算

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
发表于 2013-1-19 17:13:19 | 只看该作者
yanwei82123300 发表于 2013-1-19 14:30
不同的运单号,包装号会重新从1计算

update tbname set 包装号=Dcount("*","tbname","运单号=" & 运单号 & " and 包装号<=" & 包装号)
6#
 楼主| 发表于 2013-1-19 21:00:22 | 只看该作者
todaynew 老师您理解错了!请看1楼的例子吧!
窗体“批量拆分命令”点击后将数据生成到tblPacktemp表中
但是现在发现一个问题:运单号(ShipmentNO)9402,只能拆分2个(包装号),其他不能拆分,包装号断号(只填充了前两个,后面的没有填充)。
7#
发表于 2013-1-21 09:07:04 | 只看该作者
看这一句:
For ii = rst1.Fields("PackageNo") To rst1.Fields("Order_Qty") / rst1.Fields("UNITS_PER")
除了前两个PackageNo之外,其余的rst1.Fields("PackageNo") 都大于rst1.Fields("Order_Qty") / rst1.Fields("UNITS_PER")了,当然不会接着拆分了。
不清楚你的PackageNo、Order_Qty、UNITS_PER  这三者的关系?
8#
发表于 2013-1-21 09:18:24 | 只看该作者
如此改一下估计可以了:
Sub 拆分()  ''经典的将表数据批量追加到另一表中
On Error Resume Next
Dim S As Integer
Dim rst1 As adodb.Recordset
Dim str1 As String
str1 = "SELECT * FROM tblPackinglist"
Set rst1 = New adodb.Recordset
rst1.Open str1, CurrentProject.Connection, adOpenStatic, adLockReadOnly
If rst1.RecordCount > 0 Then
    rst1.MoveFirst
    For i = 1 To rst1.RecordCount
        S = 1 'Format(ii, "000")
        For ii = rst1.Fields("PackageNo") To rst1.Fields("PackageNo") + (rst1.Fields("Order_Qty") / rst1.Fields("UNITS_PER")) - 1
            
             DoCmd.RunSQL "INSERT INTO tblPacktemp SELECT '" & S & "' AS CreatNo, '" & rst1.Fields("ShipmentNO") & "' AS ShipmentNO, " & rst1.Fields("PackageNo") & " AS PackageNo, '" & rst1.Fields("Order_Qty") & "' AS Order_Qty,'" & rst1.Fields("ItemNumber") & "' AS ItemNumber,'" & rst1.Fields("ItemDescription") & "' AS ItemDescription,'" & rst1.Fields("UNITS_PER") & "' AS UNITS_PER,'" & rst1.Fields("CONumber") & "' AS CONumber, '" & rst1.Fields("Line") & "' AS Line"
            ' DoCmd.OpenQuery "qryUpdate表1desc"
            'DoCmd.RunSQL "INSERT INTO 表1 SELECT '" & S & "' AS 序号, '" & rst1.Fields("ITEM") & "' AS item, " & rst1.Fields("QTY") & " AS qty, '" & rst1.Fields("MO") & "' AS mo"
            S = S + 1
        Next
        rst1.MoveNext
    Next
End If
End Sub
9#
发表于 2013-1-21 09:29:16 | 只看该作者
For ii = rst1.Fields("PackageNo") To rst1.Fields("PackageNo") + (rst1.Fields("Order_Qty") / rst1.Fields("UNITS_PER")) - 1
此句也可改为:
For ii=1 to rst1.Fields("Order_Qty") / rst1.Fields("UNITS_PER")
10#
 楼主| 发表于 2013-1-21 12:29:32 | 只看该作者
koutx 老师谢谢您的帮助!问题是我没有说细:
我想将包装号中的断号补齐(包装号(PackageNo)
并将新的包装号生成到CreatNo字段中
请看tblPackinglist:运单号ShipmentNO:9402

PackageNo
1
6
16
17
22
24
16
17
22
24
CreatNo应当是
1
2
3
4
5

6
7
8
9
10
...
17
18
19
...
22
23
24
...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-21 22:41 , Processed in 0.112459 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表