Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

求助:移动平均法更新成本单价

刘先生  发表于:2017-01-12 09:27:32  
复制

(以上三个表只列出了关键字段,入出库表和入库表中的产品编码都会有重复)


入库表中的产品入库时,要根据入库数量和金额,结合入出库表中的库存数量(入库-出库)和产品资料表中的成本单价,

根据加权平均法公式计算出新的成本单价更新到产品资料表中。有新产品入库,也就是有些入库表中产品在入出库表中不存在,新产品以单价做成本单价。

用查询或代码该怎么弄?

另,用什么方法在入库表中,对产品编码字段逐个取值?

 

Top
MDZZ 发表于:2017-01-12 13:32:40

1最好上传附件 免回贴者建表之劳

2出入库表的库存数量  需要用用查询来实现  最简单的办法 就是把出库的数量改成负数 方便计算 

3加权平均法 公式的话   使用更新查询把  或者写个函数 

4逐个 取值 可以用记录集来实现   在立即窗体中显示查询的结果[Access软件网] http://www.accessoft.com/article-show.asp?id=11067





朱先生 发表于:2017-01-12 15:10:53
一个产品编号只有一行数据,怎么可能移动平均?

刘先生 发表于:2017-01-12 18:16:52
回复朱先生:是每次产品入库时都要重新计算产品成本单价

竹笛 发表于:2017-01-12 23:40:52

要学习一下ADO或DAO的知识了。



刘先生 发表于:2017-01-13 04:38:59

点击下载此附件


谢谢各位回复,还在学习当中。。

已上传附件,用了三个查询算出了成本单价

可新的问题又来了,汇总查询不能用在更新查询中,该怎么解决?



朱先生 发表于:2017-01-13 09:57:16
将‘新成本单价’查询改为生成表查询,更新时用生成的表进行,可解决 ‘ 查询不能用在更新查询中’

yuhong 发表于:2017-01-14 08:35:19

1,新建入库窗体,增加一个确定入库按钮,设置一个窗体变量:dim SN_Nomber as string dim UnitPrice as long

2,按钮点击事件中中,SN_Nombe=Me.产品编码

                                if isNull(Dlookup (SN_Nomber,出入库表")

                                  UnitPrice=Me.单价

                             else

                                  UnitPrice=dsum("数量","出入库表","产品编码=‘SN_Nomber‘’ and 业务类型=入库")-dsum("数量","出入库表","产品编码=‘SN_Nomber‘’ and 业务类型=出库")

Currentdb.Execute “update 产品资料表 set 成本单价=“& UnitPrice where  产品编码=‘SN_Nomber‘’ 

OK! 修正一下应该能达到你说的要求



刘先生 发表于:2017-01-14 10:51:33
回复yuhong,你这种要把编码字段值逐个取出来才可以,逐个取值又是个问题。。

总记录:8篇  页次:1/1 9 1 :