以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  自动编号 问题2,  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=82660)

--  作者:yancheng
--  发布时间:2016/3/22 13:37:00
--  自动编号 问题2,
接上篇问题:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=82273&page=1&star=1
代码是写在:窗口:复制增加按钮上的。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160322132835.jpg
图片点击可在新窗口打开查看
If Tables("材料").TopPosition > -1 Then \'如果选定区域包括数据行
    Dim dr As Row = Tables("材料").Current
    Dim s As String = dr("定额编码")
    If s > "" AndAlso s.Length <= 6 Or 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)
              Dim max As String
                Dim idx As Integer
max = e.DataTable.Compute("Max(定额编码)","定额编码 (这个列的前面部分与bh相同,怎么写?)= \'" & bh & "\' And [_Identify] <> " & e.DataRow("_Identify")) \'取得该类别的最大编号
      ????

    End If
End If
[此贴子已经被作者于2016/3/22 13:38:51编辑过]

--  作者:yancheng
--  发布时间:2016/3/22 13:48:00
--  
根本没人回答,晕。浪费时间,害我随时刷新。以前还回复快点。
--  作者:大红袍
--  发布时间:2016/3/22 14:29:00
--  
max = e.DataTable.Compute("Max(定额编码)","定额编码 like \'" & bh & "%\' And [_Identify] <> " & e.DataRow("_Identify"))
--  作者:yancheng
--  发布时间:2016/3/22 16:08:00
--  
朱健,师傅帮我解决了。狐表的论坛帮助真的得加强呀。不然我等小白,怎么学得会哦。  发帖心情 Post By: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