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


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

主题:自动日期编号生成

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
自动日期编号生成  发帖心情 Post By:2008/9/2 11:47:00 [显示全部帖子]

要求:
一个[编号]列。以[日期]列为基础建立[编号]列。以前在易表里[编号]列用的刷新公式是:"0"+text(number(format([日期],"yymmdd00"))+CountFor(GridName,"日期","=",[日期],1,Row)),现在用FoxTable怎么做?

示例: 


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目9_0902.zip


Foxtable本身已经有编号列“_Identify”,每增加一行递增1,所以代码原理很简单:

'如果发生变化的是日期列,而且已经输入日期
If e.DataCol.Name = "日期" And e.Datarow.IsNull("日期")  = False Then
    Dim dt As Date = e.DataRow("日期") '获得输入的日期
    '计算编号
    e.Datarow("编号") =  Format(dt,"yyMMdd") & Format(e.DataTable.Compute("Count(日期)", "[日期] = #" & dt & "# And [_identify] < " & e.DataRow("_Identify")) + 1,"000")
End If

[此贴子已经被作者于2008-9-2 11:56:41编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/2 22:59:00 [显示全部帖子]

作为数据管理来说,这样的编码生成方式不好,最好就是用_identify,或手工输入。

 回到顶部