Office中国论坛/Access中国论坛
标题: ----------> 请教版主, 库存查询 [打印本页]
作者: duckdon 时间: 2005-4-4 17:03
标题: ----------> 请教版主, 库存查询
我想在下图“剩余”字段里得到下面结果:
1)如果上条记录库存为空则显示本记录库存数
2)如果上条记录库存为负则显示0-上条记录库存数
3)如果上条记录库存为正则显示0
即:
计划 库存 剩余
P1 -5 -5
P2 9 5
P3 6 0
[attach]9716[/attach]
[attach]9717[/attach]
[此贴子已经被作者于2005-4-8 12:43:17编辑过]
作者: duckdon 时间: 2005-4-4 19:25
为什么没能人回复啊?
作者: duckdon 时间: 2005-4-4 21:18
没人回,再顶!
作者: 静儿 时间: 2005-4-4 21:23
如果为零值呢?
作者: duckdon 时间: 2005-4-4 21:32
为0的话,还是0
有什么办法吗?
[此贴子已经被作者于2005-4-4 13:36:36编辑过]
作者: xinbao 时间: 2005-4-4 21:36
首先,你的排序顺序是啥 什么是上一条
另需要做个自定义函数,dlookup判断上条记录的库存数
再判断当前应放内容
作者: duckdon 时间: 2005-4-4 21:38
按计划号排序,P2是P3的上一条
具体点,不会啊
[此贴子已经被作者于2005-4-4 13:38:40编辑过]
作者: tmtony 时间: 2005-4-4 21:44
要自定义个函数 类似余额问题
给个ID号,判断ID之前的库存是多少,然后决定当前值是多少
您可参考:
http://www.office-cn.net/Article/Class5/Class10/200408/491.html
http://www.office-cn.net/Article/Class5/Class10/200502/834.html
作者: duckdon 时间: 2005-4-4 21:48
谢谢,我先看看
作者: duckdon 时间: 2005-4-5 03:38
小弟愚钝,搞了半天也没出来,可不可以帮忙做一下
作者: 000618 时间: 2005-4-5 06:53
标题: 回复
估计大家还是弄不清这几个数的关系
库存和剩余是什么概念
是否是计划数-(计划完成数+库存数)=剩余数
也就是说,还需要有一个生产数
作者: tmtony 时间: 2005-4-5 17:14
[attach]9727[/attach]
做了个例子,你看看是否可以
作者: duckdon 时间: 2005-4-5 23:53
标题: 谢谢tmtony! 受益匪浅
可是我将条件放在同一个查询中,就不行了,为什么,怎么办?
我想实现下面的结果,同种产品计划1的库存结余80(即净需求"-80")个作为计划2的库存量
如果上个净需求是正的(即库存无结余),那么下个同产品的计划对应的库存量为0(比如计划6)
但是每种产品最早的计划对应的库存量还是库存表中的数值(如计划1和计划5)
[attach]9747[/attach]
下面我做的附件是错的[attach]9748[/attach]
作者: tmtony 时间: 2005-4-6 04:24
这个需求我没弄明白,有些糊涂了
作者: duckdon 时间: 2005-4-6 16:14
按交期的早晚(紧急度), 上个计划剩余的物料,给下个计划用
也就是说到计划2查库存时, 已经没有180个了,库存可用量是80个
因为计划1预约了100个, (计划1交期较早,享有优先权)
再则,如计划5按需求库存还差100个, 到计划6时查库存可用量也就没有了
所以计划6的净需注还要70个.
最后得出: 产品CP1只需要生产90个, CP2生产170,就能满足计划了
不知道这样有没有表达清楚.
[此贴子已经被作者于2005-4-6 8:29:39编辑过]
作者: duckdon 时间: 2005-4-6 18:32
我下面这段代码有什么问题吗?老是显示类型不匹配
Public Function f(d As Date, E As String) As Integer
'函数计算库存量,例如:f([交期],[计划].[产品ID])
Dim a, b, c As Integer
a = Nz(DLast("计划量", "计划需求", "交期 <" & Str(d) And "产品ID =" & E)) '上一个计划量
b = Nz(DLast("净需求", "计划需求", "交期 <" & Str(d) And "产品ID =" & E)) '上一个净需求
c = Nz(DLookup("库存量", "库存", "产品ID =" & E)) '本产品库存量
If a = 0 Then
f = c
Else
If b < 0 Then
f = -b
End If
If b >= 0 Then
f = 0
End If
End If
End Function
[此贴子已经被作者于2005-4-6 11:05:09编辑过]
作者: duckdon 时间: 2005-4-7 18:36
还没完,顶上来
作者: duckdon 时间: 2005-4-9 00:05
不要让这个问题夭折吧,高手帮忙看看啊~~~
作者: hi-wzj 时间: 2005-4-9 02:33
[attach]9842[/attach]
在报表中完成的。
作者: duckdon 时间: 2005-4-10 01:49
以下是引用hi-wzj在2005-4-8 18:32:54的发言:
在报表中完成的。
谢谢就是我要的结果,可是不能在查询中实现吗?因为结果的数据我还要引用
作者: duckdon 时间: 2005-4-11 23:40
用了自定义函数,查询变得好慢啊?怎样才能提高速度?
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |