Foxtable(狐表)用户栏目专家坐堂 → [求助]谁能帮忙设计一个计算库存的表达式,或者代码?(重发)


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

主题:[求助]谁能帮忙设计一个计算库存的表达式,或者代码?(重发)

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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
[求助]谁能帮忙设计一个计算库存的表达式,或者代码?(重发)  发帖心情 Post By:2011/10/11 17:28:00 [只看该作者]

产品表的库存数量 是根据 产品表的初始数量-出货记录表的出货数量+制袋表的数量 计算得出

 

表达式如下

IsNull([shuliang],0) - isnull(Sum(Child(产品联出货).shuliang),0)+isnull(Sum(Child(产品联制袋).shuliang),0)

 

现在 要求制袋 的数量 只有 入库 的制袋生产记录才参加统计,不入库的不参加库存统计,如何实现呢?

 
图片点击可在新窗口打开查看此主题相关图片如下:171.jpg
图片点击可在新窗口打开查看


 项目 文件如下

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:儋州琼富琼富塑料管理系统1.0.table

[此贴子已经被作者于2011-10-11 17:45:15编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/10/11 17:42:00 [只看该作者]

你的系统哪有什么库存数量表?

 


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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
  发帖心情 Post By:2011/10/11 17:46:00 [只看该作者]

不好意思! 弄错了。 是产品表的库存数量
[此贴子已经被作者于2011-10-11 17:46:36编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/10/11 17:49:00 [只看该作者]

哪有库存数量表呢?

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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
  发帖心情 Post By:2011/10/11 18:14:00 [只看该作者]

已经更正  是 产品表的库存数量


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/10/11 18:34:00 [只看该作者]

在产品表增加一数据列:【库存数量】

在制袋表的datacolchanged中加上,看看结果:

 

Case "ruku"
    Dim dr1 As DataRow = e.DataRow
    Dim pr As DataRow = dr1.GetParentrow("chanpin")
    If e.DataRow("ruku") = True
        pr("库存数量") = pr("shuliang")+e.DataRow("shuliang")

    Else
        pr("库存数量") = pr("库存数量")-e.DataRow("shuliang")
    End If

[此贴子已经被作者于2011-10-11 18:34:41编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2011/10/11 18:47:00 [只看该作者]

chanpin:
Select Case e.DataCol.Name
    Case "shuliang"
        Dim fl as string = "chanpinid = " & e.DataRow("_Identify")
        Dim n1,n2 As Double     
        n1 = DataTables("chuhuo").Compute("sum(shuliang)",fl)
        n2 = DataTables("zhidai").Compute("sum(shuliang)",fl & " and ruku = True")
       e.DataRow("库存数量")=dr("shuliang")- n1+n2      
End Select

chuhuo:
Select Case e.DataCol.Name
    Case "shuliang"
        Dim n1,n2 As Double  
        Dim fl as string = "chanpinid = " & e.DataRow("chanpinid")        
        n1 = DataTables("chuhuo").Compute("sum(shuliang)",fl)
        n2 = DataTables("zhidai").Compute("sum(shuliang)",fl & " and ruku = True")
        Dim dr As DataRow = e.DataRow.GetParentrow("chanpin")
         if dr isnot nothing then
             dr("库存数量")=dr("shuliang")- n1+n2
         end if      
End Select


ZHIDAI:
Select Case e.DataCol.Name
    Case "shuliang","ruku"
        Dim n1,n2 As Double  
        Dim fl As String = "chanpinid = " & e.DataRow("chanpinid")        
        n1 = DataTables("chuhuo").Compute("sum(shuliang)",fl)
        n2= DataTables("zhidai").Compute("sum(shuliang)",fl & " and ruku = True")
       Dim dr As DataRow = e.DataRow.GetParentrow("chanpin")
         If dr IsNot Nothing Then
             dr("库存数量")=dr("shuliang")- n1+n2
         End If      
End Select

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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
  发帖心情 Post By:2011/10/11 22:33:00 [只看该作者]

谢谢mr725don

除了用代码,表达式不能实现吗?

我这个比较特殊的地方在于 出货记录表,不是一条一条记录录入,而是在出货单页面 通过窗口录入,一次性可以录入多条记录。

 

 出货记录如下


图片点击可在新窗口打开查看此主题相关图片如下:001.jpg
图片点击可在新窗口打开查看
出货记录不是直接录入的

 

而是在出货单通过点击客户ID 启动出货单窗口录入

界面如下


图片点击可在新窗口打开查看此主题相关图片如下:002.jpg
图片点击可在新窗口打开查看

 

所以如果库存数量也要减掉出货数量的话,如果通过代码来实现就比较麻烦,我在想表达式可不可以?

关键是 制袋表 入库才参与统计,不入库不参与统计。能不能用表达式来实现?

 

[此贴子已经被作者于2011-10-11 22:34:59编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/10/11 22:52:00 [只看该作者]

表达式不好使,7楼don老师已经给出了代码,稍加修改就可以了。

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2011/10/12 17:29:00 [只看该作者]

表达式法:
chanpin:
IsNull([shuliang],0) - isnull(Sum(Child(产品联出货).shuliang),0)+isnull(Sum(Child(产品联制袋).数量),0)

ZHIDAI增数量列,表达式为:
IIF([ruku] =  True,[shuliang],0)

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