liuyong886 发表于 2024-1-18 12:55:13

请教大佬,进销存的库存是怎么做的?

求一个思路,没有经验,给自己写了一个小的进销存,用了三个表,一个入库表,一个出库表,一个库存表,操作的时候就是入库或者出库的时候修改库存表,但是老是有一些莫名其妙的问题,比如修改入库或出库的时候,库存数量对不上了,但是又不是每次都会出错,只是很少的时候会出错,没有错误提示,查不出来问题,所以放弃这种方法了。
现在用另一种方法,建两个表,一个入库表,一个出库表,显示库存就用入库数减出库数,暂时没问题,但是但心今后数据多了以后,cha询整个入库或出库会用时比较久。



我知道有个期初数期未数的叫法,但是不知道怎么用到程序里。

请教你们一般是怎么处理这个问题的?

谢谢!




kingsoft 发表于 2024-1-18 21:59:47

cha询的时候就要重新计算一次!

glbosom 发表于 2024-1-18 23:04:05

修改数据时记得用事务

老道 发表于 2024-1-19 08:13:49

cha询的时候 加上SUM 直接计算。不用读出每条记录循环计算

阿杰 发表于 2024-1-19 09:00:13

库存表不用创建,建个商品表就行
用SQL语句,以商品表进行计算库存,库存=进货数量-销售数量
这是个思路
有问题可以加个weixin共同探讨(weixin:109032917) QQ:109032918

chenfeng0614 发表于 2024-1-19 10:55:06

用视图,具体用法百度搜索。

wangvoldp 发表于 2024-1-19 12:19:04

:D
1.用事务, 在事务中同时操作 出库表 和 库存表, 失败就回滚, 事务会锁表
2.直接用sql的加减, 不要自己取出来加减再更新

liuyong886 发表于 2024-1-19 12:56:58

glbosom 发表于 2024-1-18 23:04
修改数据时记得用事务

<火山程序 类型 = "通常" 版本 = 1 />
库存数 = 文本到小数 (表格1.取文本数据 (i, 8)) - 文本到小数 (表格1.取文本数据 (i, 4))

SQL = "update 产品信息表 set 库存 ='" + 到文本 (库存数) + "' where 条码 = " + 条码

如果 (全局操作类.成员_Sqlite数据库.执行SQL语句 (SQL, ) != SQLite执行结果.成功)
{
    信息框 ("修改库存数失败! ")
    回滚事务 ()
}


有库存表的时候也是有用事务的,比如说一份送货单有10个产品,修改送货单的时候有时候没问题,但是有时候9个修改成功了,1个没有修改成功。

liuyong886 发表于 2024-1-19 13:01:45

阿杰 发表于 2024-1-19 09:00
库存表不用创建,建个商品表就行
用SQL语句,以商品表进行计算库存,库存=进货数量-销售数量
这是个思路


成员_Sqlite记录集2 = 全局操作类.成员_Sqlite数据库.取记录集 ("select (select sum(a.数量箱)from 入库明细表 a where a.条码='" + 成员_Sqlite记录集.读文本数据 (0) + "')-(select sum(b.数量箱)from 送货单表 b where b.条码='" + 成员_Sqlite记录集.读文本数据 (0) + "') as 库存数", )


我现在就是这样做的,这样暂时没有问题,但是,如果时间久了或者数据多了怎么办?如果几年后呢,显示库存的时候也要把几年前的一起统计了。

我知道有个期末的说法,但是不知道怎么用。

liuyong886 发表于 2024-1-19 13:03:04

chenfeng0614 发表于 2024-1-19 10:55
用视图,具体用法百度搜索。

嗯嗯。谢谢。
页: [1] 2
查看完整版本: 请教大佬,进销存的库存是怎么做的?