-- 作者:tina2012
-- 发布时间:2014/4/18 17:51:00
-- 自动编号有问题
窗口AfterLoad事件中代码:
DataTables("Sales_Order_List").LoadFilter = "" DataTables("Sales_Order_List").Load() Dim Sum As Integer = Tables("Sales_Order_List").Rows.Count \'统计总行数 \'MessageBox.Show("总行数为:" & Sum) For i As Integer = 0 To Sum - 1 \'将SubmitUserName填入该登录用户 Dim s As String = Tables("Sales_Order_List").Rows(i)("SubmitUser") If s = 20 OrElse s= 29 OrElse s= 30 Then Tables("Sales_Order_List").Rows(i)("SubmitUserName") = "123" Else Dim dr As DataRow = DataTables("Team_Users").Find("Id = \'"& s &"\'") Tables("Sales_Order_List").Rows(i)("SubmitUserName") = dr("Name") End If Next
DataRowAdded事件代码:
Dim bh As String = Format(Date.Now,"""SO""yyyyMMdd") \'取得编号的10位前缀 If e.DataRow("Title").StartsWith(bh) = False \'如果编号的前10位不符 Dim max As String Dim idx As Integer \'max = e.DataTable.Compute("Max(Title)","SubmitDate = #" & e.DataRow("SubmitDate") & "# And [Id] <> " & e.DataRow("Id")) \'取得该天的最大编号,Id是主键列 If max > "" Then \'如果存在最大编号 idx = CInt(max.Substring(11,1)) + 1 \'获得最大编号的后一位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If e.DataRow("Title") = bh & "-" & Format(idx,"0") End If
为什么点击“新增订单”按钮时,如果是同一个用户,编号能自动加1,SO20140418-1,SO20140418-2,.。。。。。。
但是换用另一个用户登陆的时候,点击“新增订单”按钮时,编号又从SO20140418-1开始。。。
好像每次换用用户时,第一次没找到max
请帮忙解决。谢谢 因为连接的是公司的数据库,不能上传例子,请见谅。谢谢
此主题相关图片如下:1.jpg
此主题相关图片如下:2.jpg
|