以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172961)

--  作者:铁小舟
--  发布时间:2021/11/9 10:23:00
--  [求助]
有个问题请教各位老师:
      做了一个带自动编号(表事件DataColChanged)的输入窗,新增行的时候都是顺序自动增加编号的(年4位-月2位-编号3位),正常使用
      插入行的时候编号依然是以最大编号生成,这样每次都需要手动更改编号,比较麻烦。
      请问,选择一行并点击插入按钮的时候怎样实现新增插入行的自动编号为该行编号+1



[此贴子已经被作者于2021/11/9 10:27:46编辑过]

--  作者:有点蓝
--  发布时间:2021/11/9 10:41:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=50080

意思是允许有重复编号?

不然后面所有的编号都要重新编号+1,比如有001、002、003,在001后面插入002,然后之前的002、003顺序改为003、004?假设002之后有998个编号,全部都改一遍?假设这个表还关联了其它表,难道还要完全更新其它表对应的编号?假设后面的编号都已经打印了单据,还得手工改单据?

--  作者:狐狸爸爸
--  发布时间:2021/11/9 10:42:00
--  
自己做个插入行按钮:

dim pr as row = tables("xxx").Current
dim nr as row  = tables("xxx").InsertNew()
nr("编号") = pr("编号") - 1

--  作者:铁小舟
--  发布时间:2021/11/11 8:40:00
--  关于插入行编号
多谢回复!
其实没那么复杂,就是当点选一行,再点插入按钮(设计有插入按钮)的时候,怎样使插入行新增的编号为上一个编号+1【该表设有自动编号】。已设置编号不允许重复,原表的编号是有空缺,这是在其中补缺。其他问题不存在,如,后续编号自动更新重编,并联表问题等。

--  作者:有点蓝
--  发布时间:2021/11/11 8:49:00
--  
Dim pr as row = tables("xxx").rows(tables("xxx").Current.index-1)
dim nr as row  = tables("xxx").InsertNew()
nr("编号") = pr("编号") + 1

pr("编号")就是上一行的编号,和生成自动编号的方法一样解析+1即可

--  作者:铁小舟
--  发布时间:2021/11/11 10:34:00
--  按你说的试了,提示错误
运行错误:
错误所在事件:窗口,安全控制卡数据录入,插入行,Click
详细错误信息:
从字符串“2021-11-046”到类型“Double”的转换无效。
输入字符串的格式不正确。

在插入按钮编辑是对的,但是这个语法是不对的。

想要的结果如图,点2-插入行,在1的下面插入一行,编号为2021-11-042

谢谢!

--  作者:铁小舟
--  发布时间:2021/11/11 10:38:00
--  是需要一个简单的插入行

图片点击可在新窗口打开查看此主题相关图片如下:捕获1.jpg
图片点击可在新窗口打开查看
你好!

我想要的结果如图,点2-点插入行,在1的下面插入一行,编号为2021-11-042

我想程序逻辑应该是,搜索选中行的上一行编号,并+1即可

谢谢!

--  作者:有点蓝
--  发布时间:2021/11/11 10:58:00
--  
5楼我只是简单的给出+1,然后下面也说了【和生成自动编号的方法一样解析+1即可】,不要只会抄

nr("编号") = pr("编号") + 1

pr("编号")就是上一行的编号,和生成自动编号的方法一样解析+1即可