以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助:仿照例子做高效流水账,无法实现库存实时获取  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67715)

--  作者:李孝春
--  发布时间:2015/4/29 17:25:00
--  求助:仿照例子做高效流水账,无法实现库存实时获取

求助:仿照例子做高效流水账,无法实现库存实时获取

 问题的关键是在:出库单窗体中的那库存 不会根据所选择的产品而获取对应的库存数

仿照帮助里的例子做一个库存表后,将库存表对应字段分别利用SQL语句进行导入,分别对应为入库表和出库表。并分别对应创建了入库单 出库单两个窗体

 
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 
图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

现在入库单窗体里 录入入库数量后 库存可以实时计算

 
图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

反而出库单窗体里 录入对应的产品名后 库存永远是零 输入出库数量后 库存为负数

 

求解!如何解决出库单窗体中出库数量变动后,库存为之前库存减出库数量

也请各位老师多多指导 这样的设计思路合理不,如果不合理是不是需要采用跨表统计呢?




 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学习版项目.foxdb

[此贴子已经被作者于2015/4/29 22:25:12编辑过]

--  作者:Bin
--  发布时间:2015/4/29 17:29:00
--  
按照帮助的做肯定没问题,你是不是做了什么特殊处理.或者只加载一部分数据?
--  作者:李孝春
--  发布时间:2015/4/29 17:31:00
--  回复:(Bin)按照帮助的做肯定没问题,你是不是做了什...

是的  在出库单窗体中的表我采用SQL语句只导入了部分列

 

 


图片点击可在新窗口打开查看此主题相关图片如下:4.png
图片点击可在新窗口打开查看
上述两个我都操作了 还是不行
[此贴子已经被作者于2015/4/29 17:40:38编辑过]

--  作者:狐狸爸爸
--  发布时间:2015/4/29 17:47:00
--  
测试没有发现问题
--  作者:李孝春
--  发布时间:2015/4/29 17:58:00
--  回复:(狐狸爸爸)测试没有发现问题
那为什么出库单窗体的实时库存不能实时显示呢 狐狸爸爸有没有办法纠正 让之正确显示出当前实时库存呢 谢谢
--  作者:李孝春
--  发布时间:2015/4/29 19:13:00
--  回复:(李孝春)求助:仿照例子做高效流水账,无法实...
继续求解 不知道是否我思路有问题 还是什么 继续期待各位老师指导 谢谢
--  作者:狐狸爸爸
--  发布时间:2015/4/30 8:10:00
--  

1、你用DataColchanged事件算出来的库存,窗口有显示。

2、至于不正确,是因为流水账是基于全部数据的,出和入都必须参与运算,你只加载一种类型的数据,结果肯定不正确,必须出库和入库都加载才可以,你可以通过筛选来只显示某种类型的数据。你要理解流水账的计算原理,不能只是复制代码。注意不是部分列造成的,是部分行造成的。

3、如果数据太多,可以只加载某一时段范围内的数据,这个时候可以看看:

http://www.foxtable.com/help/topics/2926.htm

 

注意表的AfterLoad事件还有代码,很关键,帮助没有提及。

[此贴子已经被作者于2015/4/30 8:15:21编辑过]

--  作者:李孝春
--  发布时间:2015/4/30 8:24:00
--  回复:(狐狸爸爸)1、你用DataColchanged事件算出来的...

导入全部数据时是可以实现正确计算了

但是在出库表中我不想显示入库操作类型的数据行 是否可以采用代码将其隐藏呢?或者实现筛选后进行操作呢?

求操作方法或代码!

谢谢


--  作者:狐狸爸爸
--  发布时间:2015/4/30 8:33:00
--  

筛选不影响流水账的计算。

直接设置Table的Filter属性即可。

另个人建议,常用数据没有必要用SQLTable,用普通的表就行,在第一次打开窗口的时候加载数据就行了,无需每次打开窗口就重新加载数据,你这样是拖慢了速度,不是提升了速度。