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


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

主题:求编号的自动生成代码

帅哥哟,离线,有人找我吗?
实话实说
  31楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2011/6/7 8:01:00 [只看该作者]

以下是引用实话实说在2011-6-6 22:18:00的发言:
能否在8楼代码的基础上完善一下

重提一下


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/6/7 8:39:00 [只看该作者]

以下是引用实话实说在2011-6-6 22:18:00的发言:
能否在8楼代码的基础上完善一下

重提一下

 

 

完善什么?详细些嘛,每人思考的角度不同的。 如果要保留原编号不变,看看17楼啊。。。

[此贴子已经被作者于2011-6-7 8:40:35编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2011/6/7 9:05:00 [只看该作者]

17楼代码不是有"第三列"问题吗

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/6/7 12:31:00 [只看该作者]

以下是引用实话实说在2011-6-7 9:05:00的发言:
17楼代码不是有"第三列"问题吗

21楼不是解决了嘛。


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2011/6/7 18:52:00 [只看该作者]

麻烦将代码完整的写一遍吧,我试了一下17楼+21楼代码,还是有点问题.先谢了.

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/6/7 19:04:00 [只看该作者]

以下是引用实话实说在2011-6-7 18:52:00的发言:
麻烦将代码完整的写一遍吧,我试了一下17楼+21楼代码,还是有点问题.先谢了.

看来你并没有理解代码,要不你都这么长时间的老狐了,应该可以搞定呀:  呵呵,批评一次。。。


Dim d5 As Date = e.DataRow("日期")
Dim StartDate As Date
Dim EndDate As Date
Dim Month As Integer  = d5.Month
Dim Year As Integer = d5.Year
StartDate = New Date(Year,Month,1)
EndDate = New Date(Year,Month,Date.DaysInMonth(Year,Month))
If e.DataCol.Name = "日期" Then
    If e.DataRow.IsNull("日期") Then
        e.DataRow("第三列") = Nothing
    Else
        If e.NewValue <> Nothing And e.DataRow("第三列") = Nothing Then
            e.DataRow("第三列") ="AA" & format(e.NewValue,"yyMMdd")    ‘只修改了这个地方···
 'CStr(e.NewValue).Remove(0,2).Remove(2,1).Remove(4,1)   'And 日期 = #" & d5 & "#
            Dim drs As List(of DataRow) = e.DataTable.Select("日期 >= #" & StartDate & "# And 日期 <= #" & EndDate & "# And 日期 = #" & d5 & "# ")
            For i As Integer = 0 To drs.Count - 1
                If drs(i)("第三列").Length = 8 Then
                    drs(i)("第三列")  = e.DataRow("第三列") & format(i+1,"000")
                End If
            Next
        End If
    End If
End If

[此贴子已经被作者于2011-6-7 19:08:28编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2011/6/8 6:13:00 [只看该作者]

36楼编号代码存在这样一个问题:例如,现在已经编有1-5个顺序编号,删除2-3编号,还剩1,4,5编号,再生成新的编号时是从4开始,(有重复)而不是从6开始.

[此贴子已经被作者于2011-6-8 6:13:49编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/6/8 9:10:00 [只看该作者]

以下是引用实话实说在2011-6-8 6:13:00的发言:

36楼编号代码存在这样一个问题:例如,现在已经编有1-5个顺序编号,删除2-3编号,还剩1,4,5编号,再生成新的编号时是从4开始,(有重复)而不是从6开始.

[此贴子已经被作者于2011-6-8 6:13:49编辑过]

其实你不用照搬人家的,依你的狐龄,完全可以自己重新写这个代码的。 达到你上面的要求并不困难嘛。

如果你在两星期后还没搞定,再上来提问吧。

 

(提示两种方式:1、找到同日的最大编号再加1, 2、查找到同日空缺的编号,补缺。后者稍繁琐些。)


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


加好友 发短信
等级:一尾狐 帖子:492 积分:4243 威望:0 精华:0 注册:2008/9/1 20:47:00
  发帖心情 Post By:2011/6/8 12:36:00 [只看该作者]

以下是引用实话实说在2011-6-8 6:13:00的发言:

36楼编号代码存在这样一个问题:例如,现在已经编有1-5个顺序编号,删除2-3编号,还剩1,4,5编号,再生成新的编号时是从4开始,(有重复)而不是从6开始.

[此贴子已经被作者于2011-6-8 6:13:49编辑过]

这种情况应该是正常的,因为它是按行号顺序进行编号的,如果要保留原编号不变,中间的数据行就不能允许删除,否则,就要出现你上面的情况。理解编码是关键,不能只知其然,不知其所以然。


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2011/6/9 10:36:00 [只看该作者]

以下是引用mr725在2011-6-8 9:10:00的发言:

其实你不用照搬人家的,依你的狐龄,完全可以自己重新写这个代码的。 达到你上面的要求并不困难嘛。

如果你在两星期后还没搞定,再上来提问吧。

 

(提示两种方式:1、找到同日的最大编号再加1, 2、查找到同日空缺的编号,补缺。后者稍繁琐些。)

我根本称不上狐狸,这段代码估计一时半会也做不出来。我确实没有太多时间学代码,晚上时间也都用在公司事务上,只能挤时间看看帮助,有时也琢磨一些代码,往往搞到凌晨2-3点,确实受不了。这个自动编号现在正需要,如果不嫌烦的话,完善一下让我好好学学。


 回到顶部
总数 45 上一页 1 2 3 4 5 下一页