易表在线答疑技术与交流用户社区 → 这样的自动编号如何实现?


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

主题:这样的自动编号如何实现?

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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/10/25 12:19:00 [显示全部帖子]


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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/10/25 16:03:00 [显示全部帖子]

Int()函数是对数值向下取整,
     假如公式中的row等于1,1/4=0.25,我们用Int()函数对其向下取整则为0,显然不符合我们的要求;
     如果我们把1/4=0.25变成负数,再向下取整,Int(-0.25)的取值则为-1,显然还是不符合我们的要求,我们要的是正数,所以需要这样-Int(-0.25),他的最终值为1,正好符合我们的要求,所以直接这样Text(Int(Row / 4)),是达不到我们的要求的!
       还可以用Abs()函数取绝对值:Text(Abs(Int(- Row / 4)))  

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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/10/25 16:22:00 [显示全部帖子]

egd文件下载

       如果行数不固定,请看看这个,应该更方便!


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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/10/25 17:08:00 [显示全部帖子]

egd文件下载

       再看看是不是这样?

-=-=-=- 以下内容由 程兴刚2007年10月25日 05:09pm 时添加 -=-=-=-
请先输入新增行数!


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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/10/25 18:16:00 [显示全部帖子]

下面引用由czy2007/10/25 06:10pm 发表的内容:
楼上按钮公式有误,应该这样更省资源:
if(<=0,MsgBox("请输入要增加的行数",0),AddRows(Grid,1) And SetCellText(Grid,Row,"第一列",Right("000"+text(MaxFor(Grid,"第 ...


    又学习一招!


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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/10/25 18:24:00 [显示全部帖子]

呵呵,看到版主的好方案,就没有在回答,那就解释一下!

    第一:Move(Rows,2)的目的是为了直接给变量赋值 Number([第一列]) ,如果这里不用变量,新增行后,录入焦点会跑到新增行,此时直接取值的话,第一列为空,Number([第一列]) 为0,这样的话,按您的方法直接使用,第一列新行增生成的值始终是“0001”

-=-=-=- 以下内容由 程兴刚2007年10月25日 06:31pm 时添加 -=-=-=-
用Move(Rows,2)的可以省去一个cell()函数,一来可以避免cell()函数速度并不快,二来可以避免多嵌套一个cell函数可能产生的函数嵌套错误!


 回到顶部