以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 老师请教编码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100628) |
||||
-- 作者:xusuyang -- 发布时间:2017/5/15 15:40: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 为啥配件编码不能显示?
|
||||
-- 作者:xusuyang -- 发布时间:2017/5/15 15:41:00 -- 老师像我上传的表 |
||||
-- 作者:有点色 -- 发布时间:2017/5/15 16:06:00 -- 参考
|