Foxtable(狐表)用户栏目专家坐堂 → 自动生成编号的疑问


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

主题:自动生成编号的疑问

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4786 威望:0 精华:0 注册:2014/9/17 11:34:00
自动生成编号的疑问  发帖心情 Post By:2015/5/14 17:23:00 [只看该作者]

各位老师,请问,我编写了如下代码,我发现以下代码自动编号时,我发现这段代码的自动编号列加顺序号的时候是判断最大值是从加载的表算起,不算没有加载的,比如,后台数据中有WLRK-201501-05,加载的表中最大是WLRK-201501-03,当我自动加行时生成的号时WLRK-201501-04,不是WLRK-201501-06
If e.DataCol.Name = "入库时间" Then
    If e.DataRow.IsNull("入库时间") Then
        e.DataRow("制单编号") = Nothing
    Else
        Dim d As Date = e.DataRow("入库时间")
        Dim y As Integer = d.Year
        Dim m As Integer = d.Month
        Dim Days As Integer = Date.DaysInMonth(y,m)
        Dim fd As Date = New Date(y,m,1) '获得该月的第一天
        Dim ld As Date = New Date(y,m,Days) '获得该月的最后一天
        Dim bh As String = Format(d,"yyyyMM")
        If e.DataRow("制单编号").StartsWith(bh) = False '如果制单编号的前8位不符
            Dim max As String
            Dim idx As Integer
            max = e.DataTable.Compute("Max(制单编号)","入库时间 >= '" & fd & "' and 入库时间 <=  ' " & ld & " ' And [_Identify] <> " & e.DataRow("_Identify")) '取得该天的最大制单编号
            If max > "" Then '如果存在最大制单编号
                idx = CInt(max.Substring(12,2)) + 1 '获得最大制单编号的后三位顺序号,并加1
            Else
                idx = 1 '否则顺序号等于1
            End If
            e.DataRow("制单编号") =   "WLRK-" & bh & "-" & Format(idx,"00")
        End If
    End If
End If

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/14 17:28:00 [只看该作者]

Compute  改为 SQLCompute

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/14 17:30:00 [只看该作者]

改成sqlCompute

 

最后还要保存当前行 e.DataRow.Save


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


加好友 发短信
等级:三尾狐 帖子:629 积分:4786 威望:0 精华:0 注册:2014/9/17 11:34:00
  发帖心情 Post By:2015/5/14 17:37:00 [只看该作者]

上面问题解决了,可是当我点击加载全部,代码如下,结果只会显示10行,我要怎么才能显示所有行(“加载的时候只显示10行”)
DataTables("物料入库记录").LoadFilter =  "制单编号 > ''"
        DataTables("物料入库记录").Load

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/14 17:46:00 [只看该作者]

DataTables("物料入库记录").LoadTop = "100 percent"
DataTables("物料入库记录").LoadFilter =  ""
DataTables("物料入库记录").Load
[此贴子已经被作者于2015/5/14 17:45:52编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/14 17:46:00 [只看该作者]


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


加好友 发短信
等级:三尾狐 帖子:629 积分:4786 威望:0 精华:0 注册:2014/9/17 11:34:00
  发帖心情 Post By:2015/5/14 17:48:00 [只看该作者]

不是这个意思,我是说,我在条件中限制了10行,但是,我想在后面操作的时候加载全部

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/14 17:57:00 [只看该作者]

看5楼


 回到顶部