Foxtable(狐表)用户栏目专家坐堂 → 查找最大编码


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

主题:查找最大编码

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


加好友 发短信
等级:九尾狐 帖子:2159 积分:14971 威望:0 精华:0 注册:2017/10/12 13:00:00
查找最大编码  发帖心情 Post By:2019/1/7 18:09:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/7 19:06:00 [只看该作者]

代码改成这样测试

 

If e.DataCol.Name = "申请日期"  Then
    If e.DataRow.IsNull("申请日期")  Then
        e.DataRow("采购申请号") = Nothing
    Else

        e.datarow.save
        Dim dr As DataRow = e.DataTable.SQLFind("申请日期 = '" & e.DataRow("申请日期") & "' and [_Identify] <> " & e.DataRow("_Identify"))
        If dr IsNot Nothing Then
            e.DataRow("采购申请号") = dr("采购申请号")
        Else
            Dim bh As String = Format(e.DataRow("申请日期"),"yyMMDD") '取得编号的8位前缀
            If e.DataRow("采购申请号").StartsWith(bh) = False '如果编号的前8位不符
              Dim dt2 As DataTable = DataTables("采购申请明细")
                Dim max As String
                Dim idx As Integer
                max = e.DataTable.SQLCompute("Max(采购申请号)","申请日期 = '" & e.DataRow("申请日期") & "' And [_Identify] <> " & e.DataRow("_Identify")) '取得该天的最大编号

msgbox(max)
                If max > "" Then '如果存在最大编号
                    idx = CInt(max.Substring(10,3)) + 1 '获得最大编号的后三位顺序号,并加1
                Else
                    idx = 1 '否则顺序号等于1
                End If

msgbox(idx)
               e.DataRow("采购申请号") = "CGSQ"& bh  & Format(idx,"000")
               e.DataRow.save         
          End If
        End If
    End If
End If


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


加好友 发短信
等级:九尾狐 帖子:2159 积分:14971 威望:0 精华:0 注册:2017/10/12 13:00:00
  发帖心情 Post By:2019/1/8 8:31:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/8 9:23:00 [只看该作者]

Dim bh As String = Format(e.DataRow("申请日期"),"yyMMDD") '取得编号的8位前缀

 

改成

 

Dim bh As String  =  Format(e.DataRow("申请日期"),"yyMMdd")  ' 取得编号的8位前缀

[此贴子已经被作者于2019/1/8 9:23:57编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2159 积分:14971 威望:0 精华:0 注册:2017/10/12 13:00:00
  发帖心情 Post By:2019/1/8 9:51:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/8 10:02:00 [只看该作者]

1、你在afterLoad事件,把所有行删除了啊

 

DataTables("窗口2_总表").DataRows.Clear
DataTables("窗口2_总表").addnew
DataTables("窗口2_总表").AutoAddNew = True
Tables("窗口2_总表").current("工作日期") = Date.Today

 

如果你是不想显示任何数据,请修改sql语句

 

select * from {管理层杂工总表} where 1=2

 

2、datacolchanged事件代码没问题,你在表格里面再新增行,都可以得到正确的编号。


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


加好友 发短信
等级:九尾狐 帖子:2159 积分:14971 威望:0 精华:0 注册:2017/10/12 13:00:00
  发帖心情 Post By:2019/1/8 11:33:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:九尾狐 帖子:2159 积分:14971 威望:0 精华:0 注册:2017/10/12 13:00:00
  发帖心情 Post By:2019/1/8 11:34:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/8 12:29:00 [只看该作者]

以下是引用nuoyan88在2019/1/8 11:33:00的发言:
老师,是可以得到正确的编码,但是问题是我的管理层杂工总表中之前就有一个号:CGSQ190108007,然后我在窗口表中生成的号却不是按照CGSQ190108008这样来的,反而是按照窗口表中自己的顺序增加

 

认认真真看6楼好不好?


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


加好友 发短信
等级:九尾狐 帖子:2159 积分:14971 威望:0 精华:0 注册:2017/10/12 13:00:00
  发帖心情 Post By:2019/1/16 11:47:00 [只看该作者]

用户已被锁定

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