递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 3600|回复: 16
打印 上一主题 下一主题

[视窗] 请教大佬,进销存的库存是怎么做的?

[复制链接]

23

主题

87

帖子

725

积分

高级会员

Rank: 4

积分
725
跳转到指定楼层
楼主
发表于 2024-1-18 12:55:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求一个思路,没有经验,给自己写了一个小的进销存,用了三个表,一个入库表,一个出库表,一个库存表,操作的时候就是入库或者出库的时候修改库存表,但是老是有一些莫名其妙的问题,比如修改入库或出库的时候,库存数量对不上了,但是又不是每次都会出错,只是很少的时候会出错,没有错误提示,查不出来问题,所以放弃这种方法了。
现在用另一种方法,建两个表,一个入库表,一个出库表,显示库存就用入库数减出库数,暂时没问题,但是但心今后数据多了以后,cha询整个入库或出库会用时比较久。



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

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

谢谢!




回复

使用道具 举报

6

主题

390

帖子

2027

积分

核心用户

无敌天真火山掉渣天的小白

Rank: 9Rank: 9Rank: 9

积分
2027
沙发
发表于 2024-1-18 21:59:47 | 只看该作者
cha询的时候就要重新计算一次!
回复

使用道具 举报

24

主题

555

帖子

4696

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4696
板凳
发表于 2024-1-18 23:04:05 | 只看该作者
修改数据时记得用事务
回复

使用道具 举报

5

主题

89

帖子

1248

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1248
地板
发表于 2024-1-19 08:13:49 | 只看该作者
cha询的时候 加上SUM 直接计算。不用读出每条记录循环计算
回复

使用道具 举报

133

主题

387

帖子

3403

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3403
5#
发表于 2024-1-19 09:00:13 | 只看该作者
库存表不用创建,建个商品表就行
用SQL语句,以商品表进行计算库存,库存=进货数量-销售数量
这是个思路
有问题可以加个weixin共同探讨(weixin:109032917) QQ:109032918
回复

使用道具 举报

2

主题

149

帖子

1429

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1429
QQ
6#
发表于 2024-1-19 10:55:06 | 只看该作者
用视图,具体用法百度搜索。
回复

使用道具 举报

23

主题

316

帖子

1465

积分

金牌会员

Rank: 6Rank: 6

积分
1465
7#
发表于 2024-1-19 12:19:04 | 只看该作者

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

使用道具 举报

23

主题

87

帖子

725

积分

高级会员

Rank: 4

积分
725
8#
 楼主| 发表于 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个没有修改成功。
回复

使用道具 举报

23

主题

87

帖子

725

积分

高级会员

Rank: 4

积分
725
9#
 楼主| 发表于 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 库存数", )


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

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

使用道具 举报

23

主题

87

帖子

725

积分

高级会员

Rank: 4

积分
725
10#
 楼主| 发表于 2024-1-19 13:03:04 | 只看该作者
chenfeng0614 发表于 2024-1-19 10:55
用视图,具体用法百度搜索。

嗯嗯。谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-14 14:58 , Processed in 0.092579 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表