Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
按五笔码自动生成编号,品牌相同编号相同,如果删除附件中的“品牌中继号”列,要实现同样功能,主要问题:
Dim drs As List(of DataRow) = e.DataTable.Select("品牌中继号 Like '" & s2 & "*' And [_Identify] < " & e.DataRow("_Identify"))
这段代码改为:
Dim drs As List(of DataRow) = e.DataTable.Select("编号 Like '" & s2 & "*' And [_Identify] < " & e.DataRow("_Identify"))
要使变量drs得到“编号”列的值不重复的数据行的集合,请问如何设置?
下载信息 [文件大小: 下载次数: ] | |
![]() |
品牌 编号
联塑 241401
联塑 241401
Ls 241402
希望品牌列输入内容时,得到上面编号列同样的效果。
如果直接设置Dim drs As List(of DataRow) = e.DataTable.Select("编号 Like '" & s2 & "*' And [_Identify] < " & e.DataRow("_Identify")) 这个变量,品牌列输入“LS”时,编号列的值是:241403,因为编号列末2位编号规则是以变量drs行数+1,如果希望drs只提取编号列的值不重复的行来执行,类似GetUniqueValues功能,如上面输入LS,执行代码,drs.count得到的是1,请问如何设置?
Dim Customers As List(Of String)
Customers = DataTables("表A").GetUniqueValues("编号 Like '" & s2 & "*'" , "编号")
改用上面代码可以达到要求,但如果修改或删除已经录入的品牌内容,后面新增的编号会出现错误,因为编号末2位用行数+1递增是有限制的(即不能删除和修改前面的品牌),如果改用符合条件编号列的最大值+1就能解决问题。
问题:
要找出字符型集合中的最大值,请问如何设置?
Dim Customers As List(Of String)
Customers = DataTables("表A").GetUniqueValues("编号 Like '" & s2 & "*'" , "编号")
Dim vls As List(Of String)
Dim mx As Integer
vls = DataTables("表A").GetUniqueValues("编号 Like '3122*'" , "编号")
For Each vl As String In vls
Dim v As Integer = Cint(vl.SubString(4,2))
mx = math.max(v,mx)
Next
output.show(mx)
谢谢!
另一个问题:如果删除或修改的品牌数量较多会浪费较多编号空间,如果下次新增品牌时,符合条件的编号优先填充到这些位置,如:
品牌 编号 修改后 品牌 编号 品牌 编号
联塑1 241401 联塑2 241402 联塑2 241402
联塑2 241402 新增 联塑6 241401
请问如何设置?
下载信息 [文件大小: 下载次数: ] | |
![]() |