思路有点混乱
如果你只要计算总结存,用直接用查询生成一个结存而不要去记录下来.
如果你要记录月结存, 应该把每个月的结存保存下来, 在你的结存表上加入一个标识字段, 然后用追加查询, 而不是生成表查询去覆盖.
推荐你用第二个方法, 可以多重校验数据正确性.
建议你先在纸上整理一下思路, 理论上, 结存不能算作基本数据,因为结存是根据入出库两个基本数据计算出来的, 保存结存值只会有两个目的, 一是校验, 二是提高实时计算时侯的效率.
另外补充一下,从你的例子来看, 你的库存查询缺少一个时间范围, 可能是你还在原始的验证阶段, 库存管理上最重要的sql的运用, 这个是个纯逻辑,纯纸面的活儿.
我做库存管理的经验是, 先把整个思路和需求写下来, 然后分解成一个一个的行为, 像你的示例,有些联合查询是没有必要的.
版主的指点完全正确。思路确实有点混乱。
我已经把上期结存[tblstock]按你的指点增加了日期字段,月初使用追加查询将库存数,日期自动追加.
请问联合查询[qrystock]要如何做才能只取出[tblstock]中最后一次的数据?看过人家用dlast函数,但是不会用
点击下载此附件
SELECT * FROM tblstock WHERE (日期=DMax("日期","tblstock"));
dlast是取最后一条记录,,,你是要取最后一天的所有记录, 用dmax比较好,但是如果你不是同一天结存就有麻烦, 如果你是严格按照月来结存, 可以只用年月做标识.
jason版主,
这回我是听从您的指教,通过改用追加查询的方式,绕过了本帖的问题. 但是如果本案一定要使用生成表查询的话,如何避免跳出错误提示?
以往我确实是使用生成查询的,而且现在还在使用中,从来没有提示错误.
理论上应该不可能.除非你切断了从最初的那个tblstock的引用, 否则肯定会出问题..关键在你生成的属于源自tblstock, 所以写不回去的.
总记录:8篇 页次:1/1 9 1 :