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


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

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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/26 23:20:00 [显示全部帖子]

1、结存金额和结存张数,是一样的逻辑处理;

 

2、起号,是查找上一条的记录得到。如

 

dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [姓名] = '" & mr("姓名") & "'", "[_SortKey] Desc")

dr("售出_启号") = dr("售出_止号") + 1


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/27 8:39:00 [显示全部帖子]

结存金额的逻辑是什么?根据什么计算?

 

结存金额和结存张数一样,比如

 

mr("结存张数") = mr("上年结转_张数") + mr("领入_张数") - mr("售出_张数")
mr("结存金额") = mr("结存张数") * 50


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/27 10:05:00 [显示全部帖子]

 加一个列,填写每天的收费的金额。直接累计每天的金额,和1楼、5楼一样。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/27 10:08:00 [显示全部帖子]

以下是引用飞过海洋在2017/11/27 10:06:00的发言:
有点甜老师:
           还有一个问题,怎么把起号和结存金额的编码和我已经写好的编码放在一起,成为一个datacolchange的代码?

 

直接放在一起即可。也可以单独另外写一段代码。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/27 11:35:00 [显示全部帖子]

Select Case e.DataCol.Name
   
    Case "姓名","上年结转_张数","领入_张数","售出_张数","结存张数","售出_废piao","售出_金额"
       
        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("售出_张数")- mr("售出_废piao")
           
            mr("结存金额") = mr("售出_金额")
           
            dr = mr
           
        Else
            If dr.IsNull("售出_止号") = False Then
                e.datarow("售出_起号") = dr("售出_止号") + 1
            ElseIf dr.IsNull("上年结转_起号") = False Then
                e.datarow("售出_起号") = dr("上年结转_起号")
            End If

           
        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)("售出_张数")- drs(i)("售出_废piao")
           
            drs(i)("结存金额") = drs(i-1)("结存金额") + drs(i)("售出_金额")
           
        Next
       
End Select


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/27 16:24:00 [显示全部帖子]

试试

 

        Else

            msgbox(dr("售出_止号") & "|" & dr("上年结转_起号"))
            If dr.IsNull("售出_止号") = False Then
                e.datarow("售出_起号") = val(dr("售出_止号")) + 1
            ElseIf dr.IsNull("上年结转_起号") = False Then
                e.datarow("售出_起号") = val(dr("上年结转_起号"))
            End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/27 17:39:00 [显示全部帖子]

Aftermoverow 事件的代码可以不写。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/29 8:46:00 [显示全部帖子]

        Else
            If dr.IsNull("售出_止号") = False Then
                e.DataRow("售出_起号") = val(dr("售出_止号")) + 1
            ElseIf dr.IsNull("上年结转_起号") = False Then
                e.DataRow("售出_起号") = val(dr("上年结转_起号"))
            End If
        End If

改成

 

    Else

        If dr.IsNull("售出_张数") = False Then
            If dr.IsNull("售出_止号") = False Then
                e.DataRow("售出_起号") = val(dr("售出_止号")) + 1
            ElseIf dr.IsNull("上年结转_起号") = False Then
                e.DataRow("售出_起号") = val(dr("上年结转_起号"))
            End If
        End If
       Else

            e.DataRow("售出_起号") = Nothing

       End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/29 11:57:00 [显示全部帖子]

    Else

        If dr.IsNull("售出_张数") = False Then
            If dr.IsNull("售出_止号") = False Then
                e.DataRow("售出_起号") = val(dr("售出_止号")) + 1
            ElseIf dr.IsNull("上年结转_起号") = False Then
                e.DataRow("售出_起号") = val(dr("上年结转_起号"))
            End If
       Else

            e.DataRow("售出_起号") = Nothing

       End If

    End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/29 15:11:00 [显示全部帖子]

贴出你写的完整代码。

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