以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 合理分配数量 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=164267) |
||||
-- 作者:sanny -- 发布时间:2021/5/2 20:40:00 -- [求助] 合理分配数量 老师, 可否帮忙将表B中的数量以出货日期合理分配到表A的出货日期备注列中。结果如附件。三十分感谢。 |
||||
-- 作者:y2287958 -- 发布时间:2021/5/2 21:26:00 -- 分配规则呢 [此贴子已经被作者于2021/5/2 21:29:03编辑过]
|
||||
-- 作者:sanny -- 发布时间:2021/5/3 12:55:00 -- 如表A中出货日期备注 : 把表B中的数量根据出货日期分配到表A中相应的产品中,每笔记录的数量不超过表A中的数量 |
||||
-- 作者:有点蓝 -- 发布时间:2021/5/6 16:16:00 --
|
||||
-- 作者:sanny -- 发布时间:2021/5/6 22:03:00 -- 老师,如何改成窗口中的按钮代码?谢谢。 Select Case e.DataCol.Name Case "产品名称","数量" Dim con As Integer = e.DataTable.Compute("sum(数量)","产品名称=\'" & e.DataRow("产品名称") & "\' and _sortkey < " & e.DataRow("_sortkey")) Dim s As String Dim drs As List(Of DataRow) = DataTables("表B").Select("产品名称= \'" & e.DataRow("产品名称") & "\'","出货日期") Dim dr As DataRow Dim sl As Integer = e.DataRow("数量") Do While drs.Count > 0 dr = drs(0) If con >= dr("数量") Then con = con - dr("数量") Else Dim c1 As Integer = dr("数量") - con con = 0 If s > "" Then s = s & " + " If c1 >= sl Then s = s & dr("出货日期") & " /" & sl & "pc" & IIF(s.Contains("+"),"s","") Exit Do Else s = s & dr("出货日期") & " /" & c1 & "pcs" sl = sl - c1 End If End If drs.RemoveAt(0) Loop e.DataRow("出货日期备注") = s End Select |
||||
-- 作者:有点蓝 -- 发布时间:2021/5/6 22:15:00 -- e.DataRow改为使用current e.DataTable改为使用DataTables("xx表")
|
||||
-- 作者:sanny -- 发布时间:2021/5/7 22:40:00 -- 老师,放不进去,附上文件 ,谢谢。
|
||||
-- 作者:有点蓝 -- 发布时间:2021/5/8 8:59:00 -- 把您改过的代码发上来 |