Foxtable(狐表)用户栏目专家坐堂 → 编写下次自动生成的起号


  共有4016人关注过本帖平板打印复制链接

主题:编写下次自动生成的起号

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


加好友 发短信
等级:幼狐 帖子:187 积分:1434 威望:0 精华:0 注册:2017/10/21 17:27:00
编写下次自动生成的起号  发帖心情 Post By:2017/11/26 22:10:00 [只看该作者]

有点甜老师:

         谢谢您这两天的指导,我按您的指导,已经将所作的表格进一步完善了.现在有两个问题.一是:如果某人第一天售出的是3张,我手工录入起号是5001,止号是5003.要是第二天.他又售出10张,如何写编码自动生成下次的起号.也就是从5004到5013张.另外如何计算表中的结存金额.现将我按您的指导写的编码及相关截图符上..请老师将组合后的代码帮我写一下.

 

           Select Case e.DataCol.Name
    Case "姓名","上年结转_张数","领入_张数","售出_张数","结存张数","产品","入库","出库"
        Dim dr As DataRow
        Dim mr As DataRow = e.DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [姓名] = '" & mr("姓名") & "'", "[_SortKey] Desc")
        If dr Is Nothing Then '如果没有上一行,说明本行就是同产品的第一行
            mr("结存张数") = mr("上年结转_张数") + mr("领入_张数") - mr("售出_张数")
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [姓名] = '" & dr("姓名") & "'")
        For i As Integer = 1 To drs.Count - 1 '重算余下行的余额
            drs(i)("结存张数") = drs(i-1)("结存张数") + drs(i)("上年结转_张数") + drs(i)("领入_张数") - drs(i)("售出_张数")
        Next
End Select


 回到顶部
总数 37 1 2 3 4 下一页