以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于自动编号的疑惑  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=111271)

--  作者:洮沙
--  发布时间:2017/12/19 10:31:00
--  [求助]关于自动编号的疑惑

有SQL2008外部数据源“员工”表一张,有“员工编号”列,自己在表事件DataColChanged中写入以下代码:

 

 
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

Dim max As String
Dim idx As Integer
max = e.DataTable.Compute("Max(员工编号)","[_Identify] <> " & e.DataRow("_Identify")) \'取得最大编号
If max > "" Then \'如果存在最大编号
    idx = CInt(max.Substring(1,3)) + 1 \'获得最大编号,并加1
Else
    idx = 1 \'否则顺序号等于1
End If
e.DataRow("员工编号") = Format(idx,"0000")

 

新增行,不自动增加编号,无解,希望老师帮忙一下!



--  作者:有点甜
--  发布时间:2017/12/19 10:38:00
--  

写到datarowAdded事件去。

 

 


--  作者:洮沙
--  发布时间:2017/12/19 11:06:00
--  回复:(有点甜)写到datarowAdded事件去。 ...

还是不行,我怀疑是代码有问题?

 

数据库表的数据如下:

 

 


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

 

麻烦甜老师看一下,谢谢!


--  作者:有点甜
--  发布时间:2017/12/19 11:07:00
--  
有什么问题?新增一行,员工编号没有自动递增1?
--  作者:洮沙
--  发布时间:2017/12/19 11:25:00
--  回复:(有点甜)有什么问题?新增一行,员工编号没有...
是的,我也感觉好像是奇了怪了!
[此贴子已经被作者于2017/12/19 11:35:24编辑过]

--  作者:有点甜
--  发布时间:2017/12/19 13:01:00
--  

代码我测试没有问题。肯定是没问题的。


--  作者:洮沙
--  发布时间:2017/12/19 13:49:00
--  回复:(有点甜)代码我测试没有问题。肯定是没问题的...
谢谢,我再多试几次!