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


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

主题:自动编号生成

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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
自动编号生成  发帖心情 Post By:2009/7/1 16:46:00 [显示全部帖子]

请问如下的自动编号该如何设置代码啊?

GH-0906195
GH-0906196
GH-0906197
GH-0906198
GH-0906199
GH-0906200
GH-0906201
GH-0906202
GH-0906203
GH-0907204
GH-0907205

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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
  发帖心情 Post By:2009/7/1 17:20:00 [显示全部帖子]

不是,是每次增加一行,但是自动编号有日期+数字组成

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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
  发帖心情 Post By:2009/7/1 20:41:00 [显示全部帖子]

以下是引用gdtgl在2009-7-1 20:09:00的发言:
自已的用法 (不管多少人用,不会重复) 
 下载信息  [文件大小:28.5 KB  下载次数:4]
图片点击可在新窗口打开查看点击浏览该文件:新建文件夹.rar

gdtgl的方法,我觉得不错,不知道有没有试过在动态加载的情况下使用是否可以.

在项目的BeforeLoadOuterTable,

If e.DataTableName = "订单" Then
    e.SelectString = "Select * From 订单 Where 编号 < 0"
End If

然后增加时,是否可以呢?


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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
  发帖心情 Post By:2009/7/2 11:19:00 [显示全部帖子]

Dim d2 As integer
Dim d3 As string = today.year
dim d4 as integer = today.month
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Insert Into 表C (f002) Values('"& d3 &"')"
cmd.ExecuteNonQuery()
cmd.CommandText = "Select count(f001) From 表C where f002 = '"& d3 &"' "
d2 = cmd.ExecuteScalar()
e.datarow("编号") = "GH-" & d3 & format(d4,"00") & format(d2,"000")


上面代码中的"表C"是什么用的?

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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
  发帖心情 Post By:2009/7/2 13:00:00 [显示全部帖子]

'''
Dim T1,T2 As String
T1 = "GH-" & Format(Date.today,"yyMM")
T2 = "[合同编号] like '" & T1 & "*'and "
T2 = T2 & "[ID] < " & e.DataRow("ID")
Dim dr As DataRow = e.DataTable.Find(T2,"ID DESC")

e.DataRow("输入日期") = Date.today
If dr is Nothing then
   e.DataRow("合同编号") = T1 & "001"
Else
   Dim n As Integer = Cint(Right(dr("合同编号"),3))+1
   e.DataRow("合同编号") = T1 & Format(n,"000")
End If



我现在使用的是如下代码,但是自动生产的结果如下:
GH-0907001
GH-0907002
GH-0908001
GH-0908002
问题是后段001,002,换月份以后,就不会再继续添加了,能否变成GH-0908003,GH-0908004?

 回到顶部