以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]一个库存控制代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19213)

--  作者:ddlzq
--  发布时间:2012/5/2 17:19:00
--  [求助]一个库存控制代码

各位老师:

    我想做个收付存表,在一个表内,使用的是SQL后台数据库,表数据以物资编码为对应值,一列是库存类别,分别填写【入库】或【出库】。

我想在做出库时,选择填写库存类别为出库后,判断填写的出库数量,如果填写的出库数量大于后台统计物资编码为入库的累计值时,会提示为负库存,请问各位老师代码如何写?请指教,谢谢。


--  作者:狐狸爸爸
--  发布时间:2012/5/2 17:27:00
--  

你的问题是什么? 是不会后台统计,还是不会判断? 还是不知道事件代码该写在哪里?


--  作者:ddlzq
--  发布时间:2012/5/2 17:30:00
--  

是不会判断代码

例,一行数据,单元格列写的是【出库】然后填写 数量,填写数量后用 datacolchanged判断该物资代码(我用的是_Identify当物资代码)在SQL后台数据库中统计ID的【入库】合计数量,如果出库数量大于统计值,会有提示。就是类似控制不允许 负库存的那种功能。

[此贴子已经被作者于2012-5-2 17:30:40编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/5/2 17:36:00
--  

你说的每一步都很清楚,我无法理解你到到底卡在哪里。

如果数据已经加载,那么直接用DataTable的Compute方法,统计此产品总出库和总入库,然后进行计较判断。

如果数据没有加载,那么先保存,然后用SQL命令,统计出此产品后台的总入库和总出库,并进行判断比较,如果出库大于入库,将出库的值恢复为原来的值,并保存。


--  作者:ddlzq
--  发布时间:2012/5/2 17:45:00
--  
以下是引用狐狸爸爸在2012-5-2 17:36:00的发言:

你说的每一步都很清楚,我无法理解你到到底卡在哪里。

如果数据已经加载,那么直接用DataTable的Compute方法,统计此产品总出库和总入库,然后进行计较判断。

如果数据没有加载,那么先保存,然后用SQL命令,统计出此产品后台的总入库和总出库,并进行判断比较,如果出库大于入库,将出库的值恢复为原来的值,并保存。

“如果数据没有加载,那么先保存,然后用SQL命令,统计出此产品后台的总入库和总出库,并进行判断比较,如果出库大于入库,将出库的值恢复为原来的值,并保存”

是的,我的需求是这条,   

 Dim rk As Integer = "SELECT SUM(数量) form {收付存} where 物资代码 = \'" & dr("物资代码") & "\' and 库存类别 = \'" & "入库" & "\'"

狐爸,这样写对么?可后台统计出相同物资的入库合计?

我SQL不太熟悉

[此贴子已经被作者于2012-5-2 17:47:13编辑过]

--  作者:kylin
--  发布时间:2012/5/2 17:54:00
--  

Dim rk As Integer

Dim cmd As New SQLCommand
cmd.CommandText = "SELECT SUM(数量) form {收付存} where 物资代码 = \'" & dr("物资代码") & "\' and 库存类别 = \'" & "入库" & "\'"

rk = cmd.ExecuteScalar()

 

其实在帮助有现成的例子可以套用的,呵呵


--  作者:ddlzq
--  发布时间:2012/5/2 18:05:00
--  

非常感谢,我一直去套datatable去了,呵呵图片点击可在新窗口打开查看


    dt = cmd.ExecuteReader

非常感谢,解决了,也感谢狐爸,提醒了保存后才能在SQL统计,不然又要走弯路了。

感谢教新新手