以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]逻辑列打勾,库存表根据型号、品名、规格自动增减数量  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=42947)

--  作者:ZHX241806
--  发布时间:2013/11/26 20:04:00
--  [求助]逻辑列打勾,库存表根据型号、品名、规格自动增减数量
我有一进货明细表和一库存表,进货明细表中有一逻辑列,我想逻辑列打勾后,库存表中的型号、品名,规格和进货明细表中型号、品名、规相同商品数量会自动增减,如果进货明细表中有新输入的商品和库存表中型号、品名相同,但规格在库存表中没有,则库存表会自动增加一行,补充此型号、品名、规格,最也同时有提示窗口:库存表中有新型号、品名、规格增加,确认后关闭。请高手们帮忙写一个代码,谢谢!!!(下面我把项目传上来)
--  作者:ZHX241806
--  发布时间:2013/11/26 20:04:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自动加减库存.table


--  作者:有点甜
--  发布时间:2013/11/26 20:55:00
--  
 参考例子来做一下,楼主。



[此贴子已经被作者于2013-11-26 20:55:08编辑过]

--  作者:ZHX241806
--  发布时间:2013/11/26 21:23:00
--  

谢谢有点甜,按照帮助我也曾照样做过,库存数量是根据进、销增减,但效果不算太理想,我不懂代码编写,按我的需要最好是用逻辑列打勾来增减库存为最佳,以前你曾帮我写过按品名进行库存数量增减的代码,效果很不错,后来因接触的商品很多,发现如果按品名、型号、规格来增减库存那会更好,所以很希望你能够再一次帮忙,谢谢!!!


--  作者:有点甜
--  发布时间:2013/11/26 21:43:00
--  
 代码如下,写到明细表的datacolchanged里去。

If e.DataCol.Name = "逻辑列" Then
    Dim dt As DataTable = DataTables("库存表")
    Dim filter As String = "型号 = \'" & e.DataRow("型号") & "\' and 品名 = \'" & e.DataRow("品名") & "\' and 规格 = \'" & e.DataRow("规格") & "\'"
    Dim fdr As DataRow = dt.Find(filter)
    If fdr Is Nothing Then
        fdr = dt.AddNew
        fdr("型号") = e.DataRow("型号")
        fdr("品名") = e.DataRow("品名")
        fdr("规格") = e.DataRow("规格")
    End If
    fdr("库存数量") = e.DataTable.Compute("sum(进货数量)", filter & " and 逻辑列 = true")
End If

--  作者:ZHX241806
--  发布时间:2013/11/26 22:35:00
--  

太好了,谢谢甜!!!


--  作者:tj-pacer
--  发布时间:2015/6/8 6:04:00
--  
顶上,抽空再学