设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 5017|回复: 5
打印 上一主题 下一主题

[模块/函数] 如何按订单日期先后自动分配库存

[复制链接]
跳转到指定楼层
1#
发表于 2011-3-22 18:52:35 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
如题。同一种产品有好几个交期。这样需根据交期与库存量生成取库存计划。请给力!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2011-3-23 21:07:17 | 显示全部楼层
谢谢TODAYNEW给予的思路。在下努力试试,有结果再共享。
3#
 楼主| 发表于 2011-3-25 22:16:06 | 显示全部楼层

Private Sub cmdplan_Click()
Dim onqty As Long
Dim STemp As String
Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
STemp = "Select * From pack_plan"
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

    '删除欠包数量为零的记录
    DoCmd.SetWarnings False
    STemp = "delete * from solist where lackqty=0"
    DoCmd.RunSQL STemp
    '-----------------------------------------------------------------------------------
    '对在库量按纳期先后进行分配
    Rs.MoveFirst  '指针指到第一条记录
    Do Until Rs.EOF = True  '对数据循环计算,直到最后一条记录为止
    onqty = Nz(DLookup("distri", "stock", "codeno='" & Rs("codeno") & "'and yearmonth='" & Me.yearmonth & "'and area='库存区'"), 0)
        If Rs("lackqty") <= onqty Then
            '更新分配数
            Rs("distri") = Rs("lackqty")
            Rs.Update
            '更新可分配数
            STemp = "update stock set distri=distri-" & Rs("lackqty") & " where codeno='" & Rs("codeno") & "'and yearmonth='" & Me.yearmonth & "'and area='库存区'"
            DoCmd.RunSQL STemp
        End If
    Rs.MoveNext '指针跳到下一条记录
    Loop '继续:  Do Until rs.EOF = True
End Sub
入库时对可分配库存增加更新,记录集源为按纳期排序的查询。

以上为本人对此问题的处理办法,希望对相关人员有所帮助。
4#
 楼主| 发表于 2011-3-25 22:16:50 | 显示全部楼层

Private Sub cmdplan_Click()
Dim onqty As Long
Dim STemp As String
Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
STemp = "Select * From pack_plan"
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

    '删除欠包数量为零的记录
    DoCmd.SetWarnings False
    STemp = "delete * from solist where lackqty=0"
    DoCmd.RunSQL STemp
    '-----------------------------------------------------------------------------------
    '对在库量按纳期先后进行分配
    Rs.MoveFirst  '指针指到第一条记录
    Do Until Rs.EOF = True  '对数据循环计算,直到最后一条记录为止
    onqty = Nz(DLookup("distri", "stock", "codeno='" & Rs("codeno") & "'and yearmonth='" & Me.yearmonth & "'and area='库存区'"), 0)
        If Rs("lackqty") <= onqty Then
            '更新分配数
            Rs("distri") = Rs("lackqty")
            Rs.Update
            '更新可分配数
            STemp = "update stock set distri=distri-" & Rs("lackqty") & " where codeno='" & Rs("codeno") & "'and yearmonth='" & Me.yearmonth & "'and area='库存区'"
            DoCmd.RunSQL STemp
        End If
    Rs.MoveNext '指针跳到下一条记录
    Loop '继续:  Do Until rs.EOF = True
End Sub
入库时对可分配库存增加更新,记录集源为按纳期排序的查询。

以上为本人对此问题的处理办法,希望对相关人员有所帮助。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-10 09:59 , Processed in 0.144558 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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