Foxtable(狐表)用户栏目专家坐堂 → [求助]编号问题


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

主题:[求助]编号问题

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


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
[求助]编号问题  发帖心情 Post By:2014/7/31 9:40:00 [只看该作者]

请教个编号问题,我的表有几个需自动编号的列,目标如下:
    1、当新增一行时录入列”GB103"后,“GB000”按“GB103"分组(分类)最大值加1; 按钮”新增一户“
    2、”GS901"按”GB103"和“GB000”两列分组(分类)最大值加1;按钮”同户新增“
    2、"GS101"当“GB016"开头是”2“时,“GB000”按“GB103"分组(分类)最大值加1;
我是菜鸟,求老师指点代码如何写!谢谢!

上述编号均不带前缀
[此贴子已经被作者于2014-7-31 9:45:12编辑过]

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


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

不是很懂你的意思,请上例子,并且加以详细说明.

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


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

 完全看不懂你的意思

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


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
回复:(Bin)不是很懂你的意思,请上例子,并且加以详细...  发帖心情 Post By:2014/7/31 16:02:00 [只看该作者]

1、当新增一行时录入列”GB103"后,“GB000”按“GB103"分组(分类)最大值加1; 按钮”新增一户“
    2、”GS901"按”GB103"和“GB000”两列分组(分类)最大值加1;按钮”同户新增“
    2、当"GB002"=2 且“GB016"开头是”2“时,同时年龄在49周岁以内(GB012为出生时间),“"GS101"按“GB103"分组(分类)最大值加1;
我是菜鸟,求老师指点代码如何写!谢谢!

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:csxm.foxdb


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


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

 完全看不懂。最大值是什么意思,加1又是什么意思,请具体数据说明。

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


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
回复:(有点甜) 完全看不懂。最大值是什么意思...  发帖心情 Post By:2014/7/31 16:21:00 [只看该作者]

最大值是指所在编号列已有数值的最大值,加1的意思是自动增量为1。比如:已有最大编号是5,则新编号为6。项目是在网络环境下运行。

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


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

 Datacolchanged事件,代码

 

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "GB103"
        Dim max1 As String = e.DataTable.SQLCompute("max(GB103)")
        dr("GB000") = max1 + 1
        dr.save
        Dim max2 As String = e.DataTable.SQLCompute("max(GB000)")
       
        dr("GS901") = iif(max2 > max1, max2, max1) + 1
       
        If dr("GB016").startsWith("2") Then
            dr("GS101") = max1 + 1
        End If
        dr.save
    Case "GB016"
        If dr("GB016").startsWith("2") Then
            Dim max1 As String = e.DataTable.SQLCompute("max(GB103)")
            dr("GS101") = max1 + 1
        End If
        dr.save
End Select


 回到顶部