Foxtable(狐表)用户栏目专家坐堂 → 老师请教编码


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

主题:老师请教编码

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


加好友 发短信
等级:幼狐 帖子:100 积分:1120 威望:0 精华:0 注册:2017/5/3 18:40:00
老师请教编码  发帖心情 Post By:2017/5/15 14:18:00 [只看该作者]

请问老师“材料库库存表”中图片点击可在新窗口打开查看

1.如何实现“材料名称”加“材料规格”自动生成材料编码,如“材料名称”是语文书,“材料规格”为25*15,自动生成材料编码“YWS2515”  ?
2.“材料库库存表”中如何实现自动计算出结余?如上年结余1500,今年1月1日入库500,今年1月8日出库300,库存结余1700?
If e.DataCol.Name = "配件名称" Then
    If e.DataRow.IsNull("配件名称") Then
        e.DataRow("配件编码") = Nothing
    Else
        e.DataRow("产品编码") = GetPy(e.DataRow("产品名称"), 1)
    End If
End If
Select Case e.DataCol.Name
     Case  "配件信息_配件名称","出入库信息_入库数量","出入库信息_出库数量"
          Dim drs  As  List(of DataRow)
        Dim Filter As String
        Filter =  "[_SortKey] >= " & e.DataRow("_SortKey") & " And [配件信息_配件名称] = '" & e.DataRow("配件信息_配件名称") & "'"
        drs = e.DataTable.Select(Filter)
        For Each dr As  DataRow  In drs
            Filter =  "[_SortKey] <= " & dr("_SortKey") & " And [配件信息_配件名称] = '" & dr("配件信息_配件名称") & "'"
            Dim Val1 As Double = e.DataTable.Compute("Sum(出入库信息_入库数量)",Filter)
            Dim Val2 As Double = e.DataTable.Compute("Sum(出入库信息_出库数量)",Filter)
            dr("库存结余") = Val1 - Val2
        Next
        If e.DataCol.Name = "配件信息_配件名称" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue  Then
            Filter =  "[_SortKey] > " & e.DataRow("_SortKey") & " And [配件信息_配件名称] = '" & e.OldValue &  "'"
            drs = e.DataTable.Select(Filter)
            For Each dr As  DataRow  In drs
                Filter =  "[_SortKey] <= " & dr("_SortKey") & " And [配件信息_配件名称] = '" & dr("配件信息_配件名称") & "'"
                Dim Val1 As Double = e.DataTable.Compute("Sum(库存结余)",Filter)
                Dim Val2 As Double = e.DataTable.Compute("Sum(出入库信息_出库数量)",Filter)
                dr("库存结余") = Val1 - Val2
            Next
        End If
 End  Select      为啥配件编码不能显示?

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


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/15 14:51:00 [只看该作者]

1、

If e.DataCol.Name = "配件名称" Then
    If e.DataRow.IsNull("配件名称") Then
        e.DataRow("配件编码") = Nothing
    Else
        e.DataRow("配件编码") = GetPy(e.DataRow("配件名称"), 1)
    End If
End If

2、做个例子上传看看

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


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

 第二个问题,你为什么要合计结余? Dim Val1 As Double = e.DataTable.Compute("Sum(库存结余)",Filter)

 

 每次统计,都是入库减去出库就行了。

 

 如果你有一个结余数据,需要加入统计,应该用备注列备注为手动录入,这样,再统计这类的数据就好了。


 回到顶部