Foxtable(狐表)用户栏目专家坐堂 → 自动编号有问题


  共有3536人关注过本帖树形打印复制链接

主题:自动编号有问题

美女呀,离线,留言给我吧!
tina2012
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:286 积分:2462 威望:0 精华:0 注册:2013/9/23 16:09:00
自动编号有问题  发帖心情 Post By: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
图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
tina2012
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:286 积分:2462 威望:0 精华:0 注册:2013/9/23 16:09:00
  发帖心情 Post By:2014/4/18 18:14:00 [显示全部帖子]

只有一个主键id   连接的是外部数据源SQL server2005

 回到顶部