以文本方式查看主题

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

--  作者: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
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2014/4/18 17:52:00
--  
没有找到MAX说明条件有问题. 自己分析一下.或者上例子让别人帮你分析一下.



--  作者:有点甜
--  发布时间:2014/4/18 17:56:00
--  

 你这个表只有一个主键id吗?有一列系统列_Identify吗?

[此贴子已经被作者于2014-4-18 17:58:53编辑过]

--  作者:tina2012
--  发布时间:2014/4/18 18:14:00
--  
只有一个主键id   连接的是外部数据源SQL server2005
--  作者:有点甜
--  发布时间:2014/4/18 18:42:00
--  
以下是引用tina2012在2014-4-18 18:14:00的发言:
只有一个主键id   连接的是外部数据源SQL server2005

 

那你的这个主键是 自动递增的么?