以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自动编号 问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82273) |
-- 作者:yancheng -- 发布时间:2016/3/15 9:35:00 -- 自动编号 问题 我的编号列如下:BDSAFD-33;0025-23; 332-2;2355-3-55-3这样的,我有一个:复制增加,按钮。想实现 ,上面的编号:最后一个- 符号后的数字+1,自动编号 。请问怎么写? [此贴子已经被作者于2016/3/15 9:37:48编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/3/15 10:09:00 -- 参考
http://www.foxtable.com/help/topics/2403.htm
|
-- 作者:yancheng -- 发布时间:2016/3/22 8:34:00 -- Split,如何用:Split命令找到我上面的编号的最后一个"-"后的内容+1呢? |
-- 作者:Hyphen -- 发布时间:2016/3/22 9:09:00 -- Dim s() As String = "2355-3-55-3".Split("-") Output.Show(s(s.Length - 1))
|
-- 作者:yancheng -- 发布时间:2016/3/22 13:19:00 -- 问题: 1、怎么统计:2355-3-55-开头的,最大数呢? 2、感觉下面的代码写啰嗦了。怎么改改好? 下面是我写的:复制增加按钮,的代码。 If Tables("材料").TopPosition > -1 Then \'如果选定区域包括数据行 Dim dr As Row = Tables("材料").Current Dim s As String = dr("定额编码") If s > "" AndAlso s.Length <= 6 Then Dim r As Row = Tables("材料").InsertNew() r("材料名称") =dr("材料名称") r("定额编码") =dr("定额编码") & "-1" r("规格") =dr("规格") r("分类") =dr("分类") r("子分类") =dr("子分类") r("单位") =dr("单位") r("类别代码") =dr("类别代码") r("图片") =dr("图片") r("网址") =dr("网址") r("网址2") =dr("网址2") r("网址3") =dr("网址3") r("材料文件") =dr("材料文件") r("成本价") =0 Forms("材料维护").show ElseIf s > "" AndAlso s.Contains("-")=False AndAlso s.Length > 6 Then Dim r As Row = Tables("材料").InsertNew() r("材料名称") =dr("材料名称") r("定额编码") =dr("定额编码") & "-1" r("规格") =dr("规格") r("分类") =dr("分类") r("子分类") =dr("子分类") r("单位") =dr("单位") r("类别代码") =dr("类别代码") r("图片") =dr("图片") r("网址") =dr("网址") r("网址2") =dr("网址2") r("网址3") =dr("网址3") r("材料文件") =dr("材料文件") r("成本价") =0 Forms("材料维护").show ElseIf s > "" AndAlso s.Contains("-") AndAlso s.Length > 6 Then Dim s1() As String = s.Split("-") Dim Index As Integer = s.LastIndexOf("-") Dim bh As String = s.SubString(0,Index+1) ???? End If End If |
-- 作者:yancheng -- 发布时间:2016/3/22 13:20:00 -- 怎么才能把帮助的,自动增加编号 ,溶入呢? 要自动生成上面的编号,可以将DataColChanged事件代码设置为: Select e.DataCol.Name |
-- 作者:yancheng -- 发布时间:2016/3/22 13:23:00 -- If s > "" AndAlso s.Length <= 6 Then ElseIf s > "" AndAlso s.Contains("-")=False AndAlso s.Length > 6 Then 这两个条件的结果一样,但是我不知道怎么把这两条代码合成一条?下面同一结果。 Dim r As Row = Tables("材料").InsertNew() r("材料名称") =dr("材料名称") r("定额编码") =dr("定额编码") & "-1" r("规格") =dr("规格") r("分类") =dr("分类") r("子分类") =dr("子分类") r("单位") =dr("单位") r("类别代码") =dr("类别代码") r("图片") =dr("图片") r("网址") =dr("网址") r("网址2") =dr("网址2") r("网址3") =dr("网址3") r("材料文件") =dr("材料文件") r("成本价") =0 Forms("材料维护").show [此贴子已经被作者于2016/3/22 13:28:56编辑过]
|
-- 作者:yancheng -- 发布时间:2016/3/22 13:29:00 -- 此主题相关图片如下:qq截图20160322132835.jpg |
-- 作者:大红袍 -- 发布时间:2016/3/22 14:30:00 -- max = e.DataTable.Compute("Max(定额编码)","定额编码 like \'" & bh & "%\' And [_Identify] <> " & e.DataRow("_Identify")) |
-- 作者:yancheng -- 发布时间:2016/3/22 16:07:00 -- 朱健,师傅帮我解决了。狐表的论坛帮助真的得加强呀。不然我等小白,怎么学得会哦。 ElseIf s > "" AndAlso s.Contains("-") AndAlso s.Length > 6 Then Dim str As String If dr IsNot Nothing Then str= dr("定额编码") End If Dim mystr As String = str.substring(Str.LastIndexOf("-")) Dim r As Row = Tables("材料").InsertNew() r("材料名称") =dr("材料名称") r("规格") =dr("规格") r("分类") =dr("分类") r("子分类") =dr("子分类") r("单位") =dr("单位") r("类别代码") =dr("类别代码") r("图片") =dr("图片") r("网址") =dr("网址") r("网址2") =dr("网址2") r("网址3") =dr("网址3") r("材料文件") =dr("材料文件") r("成本价") =0 r("定额编码") = str.substring(0,Str.LastIndexOf("-")) & "-" & Format(cint(mystr.Replace("-",""))+1,"000") Forms("材料维护").show End If
|