Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2667|回复: 5

[已解决]关于物资库龄的问题。

[复制链接]
发表于 2010-3-26 12:20 | 显示全部楼层 |阅读模式

我用VBA程序已连接上数据库了,再从数据库中取出了如下的数据显示在EXCEL中,我是分物资编码和入库日期显示的,显示的是所有的入库记录,现在我有一个所有物资的结存数量,需要实现按照结存数量倒挤出入库日期。

物资编码入库数量入库日期
0102010011438969.000 2010-2-27
0102010011273150.000 2010-1-29
01020100169920.000 2010-1-19
0102010011155300.000 2009-12-30
0102010016160000.0002009-12-31
010201001237720.0002009-12-25
010201001428100.0002009-12-18

010202001951560.000 2010-2-27
010202001865940.000 2010-1-29
01020200160000.000 2010-1-27
010202001357540.000 2010-1-19

我现在有010201001结存数量5000000.000和010202001结存数量1000000.000

可以在D列显示出每行所用数量,直到倒挤出结存数量为止,最后再删除没有用到的行记录。

我做了个附件:

Y28MnyMx.rar (4.51 KB, 下载次数: 7)

 楼主| 发表于 2010-3-26 12:46 | 显示全部楼层

直接求出目前的库存量,然后倒算所有入库单,从最后一笔累加,如果加到总数量等于库存量时就停止,那么这些入库单就是我们需要的数据了
回复

使用道具 举报

 楼主| 发表于 2010-3-26 15:20 | 显示全部楼层

这有个示例,但我不知道怎样运用到我这个实例中。

declare @dt datetime,@pid char(3)
  set @dt='2004-01-08'
  set @pid='001'
 
  declare @p table ( pid char(3),iodt datetime, qty int)
 
  insert @p
        select '001', '2004-01-01', 10
  union select '001', '2004-01-03', 6
  union select '001', '2004-01-04', -1
  union select '001', '2004-01-05',  5
  union select '001', '2004-01-07', -2
 
select pid,库龄,iodt,
case when qty>数量 then 数量 else qty end as 数量
  from (   select pid,datediff(day,iodt,@dt) as 库龄, iodt,qty,
           (  
  select isnull(sum(qty),0)  
                from @p  
                where pid=@pid and iodt<=@dt and (iodt<=a.iodt or (iodt>a.iodt and qty<0))  
              )
            as 数量
      from @p a
      where pid=@pid and iodt<=@dt and qty>0
      ) b
  where 数量>0
order by iodt desc

回复

使用道具 举报

发表于 2010-3-26 17:14 | 显示全部楼层    本楼为最佳答案   

最佳给我 DY5mcxzO.rar (12.53 KB, 下载次数: 79)
回复

使用道具 举报

发表于 2011-9-29 16:39 | 显示全部楼层
回复

使用道具 举报

发表于 2012-4-18 14:10 | 显示全部楼层
感谢分享,可是库龄在哪里呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-30 23:17 , Processed in 0.293788 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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