Foxtable(狐表)用户栏目专家坐堂 → 出库单保存前先检查库存


  共有3502人关注过本帖树形打印复制链接

主题:出库单保存前先检查库存

帅哥哟,离线,有人找我吗?
hopestarxia
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
出库单保存前先检查库存  发帖心情 Post By:2017/5/21 16:09:00 [只看该作者]

设计了一个出库单录入窗口,出库单窗口表体主要内容是关联到出库单主表,窗口中Table关联到了出库表明细,主表与明细表用单据ID相关联。
目前在录入窗口关联的Table中关联了选择货品的窗口,双击窗口可以选择得到货品的基本信息,包括当前库存信息到出库单录入窗口中,在填上相应的数量和单价即可。
出库单录入窗口中有一“保存”按钮,现在想实现在点击保存按钮时,先实现库存检测,如果存在明细行出库数量大于库存数量的,即提示库存不足,同时停止运行,不保存单据,需要人为重新调整单据内容,再重新点“保存”按钮,没有不合理的时再实现保存完成。
请问保存按钮处的这个判断怎么写?



 回到顶部
帅哥哟,离线,有人找我吗?
舟舟
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:125 积分:982 威望:0 精华:0 注册:2016/1/30 14:12:00
  发帖心情 Post By:2017/5/21 19:37:00 [只看该作者]

这个难度不大吧,逐行判断明细表,与数据库中的库存进行比较,即可啊

 回到顶部
帅哥哟,离线,有人找我吗?
hopestarxia
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2017/5/21 23:12:00 [只看该作者]

Dim t1 As Table = e.form.Controls("Table1").Table
For Each r As Row In t1.Rows

If  r("quantity") > r("xqjc")  Then
    msgbox("库存不足,请检查")
    Return
End If

Next
目前使用的代码,没有效果,请问是哪里错误?

 回到顶部
帅哥哟,离线,有人找我吗?
liusongboy
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:47 积分:359 威望:0 精华:0 注册:2017/5/8 21:40:00
  发帖心情 Post By:2017/5/22 0:40:00 [只看该作者]

其实我想说数据库做个约束。库存>0。这样就不在编写代码。而且是实时的。
剩下就一个问题了。库存大于0的会保存吗。库存小于0的由于约束存在必然会出保存不了。
也就是狐表保存数到sql用的是事物提交吗。有一个错误就全部会回滚吗。
通俗点就是出库明细有五条记录有条由于库存小于0受到sql库存必须大于0的约束会保存失败。其他4条有库存的会保存吗。

 回到顶部
帅哥哟,离线,有人找我吗?
liusongboy
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:47 积分:359 威望:0 精华:0 注册:2017/5/8 21:40:00
  发帖心情 Post By:2017/5/22 0:44:00 [只看该作者]

还有这样写代码的话单机没问题。多用户的话。如果别人在你载入库存的时候刚好出库了这个产品而且库存=0了。那你也察觉不到了。

 回到顶部
帅哥哟,离线,有人找我吗?
liusongboy
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:47 积分:359 威望:0 精华:0 注册:2017/5/8 21:40:00
  发帖心情 Post By:2017/5/22 0:47:00 [只看该作者]

最好的方法是在你保存的时候查询实时的库存看看能不能出库。
还有一个办法就是先出后入的方法。库存可以为0这样也行。因为你库存不可能有多吧。还可以没入库先出库

 回到顶部
帅哥哟,离线,有人找我吗?
舟舟
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:125 积分:982 威望:0 精华:0 注册:2016/1/30 14:12:00
  发帖心情 Post By:2017/5/22 6:58:00 [只看该作者]

保存时候用sql查一下库存,比较即可。

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/22 7:47:00 [只看该作者]

 回复3楼,你的表结构是怎样的?库存和数量都有值了吗?只要满足条件就会弹出提示的。

 

 请做个实例说明。


 回到顶部
帅哥哟,离线,有人找我吗?
hopestarxia
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
1  发帖心情 Post By:2017/5/22 8:47:00 [只看该作者]

不是,是在点击保存时,如果5条记录发现有一条或一条以上的记录库存不足记录,则停止运行都不保存.
需要录单的操作人员将库存不足的记录修改出库数量至合理数值,或是删除该行后再重新点保存按钮.


 回到顶部
帅哥哟,离线,有人找我吗?
hopestarxia
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2017/5/22 8:49:00 [只看该作者]

谢谢老师,正在学习当中,这个还没考虑到.我先以单机达到功能.

 回到顶部
总数 16 1 2 下一页