自定义用户自动编号

时间:2016-02-23 10:20:11

标签: sql vba ms-access autonumber

我一直在寻找解决这个我所拥有的自动编号问题的方法。在任何地方似乎都没有明确的答案。

我有一个包含文本字段的表单。

我希望此表单显示表格中字段的下一个数字。

示例:该表包含3条记录,其值为D001,D002,D003

表单用于输入新记录(新数据)。因此,下次输入数据时,我希望D004自动显示在表单中数据代码的文本字段中。

如何做到这一点?

2 个答案:

答案 0 :(得分:0)

这样做的一种方法是创建一个函数来处理你有的自动编号问题

create function NextAutoNumber() 
returns char(4) 
as 
begin 
    declare @lastval char(4) 
    set @lastval = (select max(autoNumber) from table) 
    if @lastval is null set @lastval = 'D001' 

    declare @i int set @i = right(@lastval,3) + 1 return 'C' + right('00' + convert(varchar(10),@i),3) 
end

像这样你可以随时调用该函数并插入记录所需的自动编号

答案 1 :(得分:0)

您可以使用表单的BeforeInsert事件:

Me!AutoNumber.Value = Format(Val(Nz(Right(DMax("[AutoNumber]", "[YourTable]"), 3), 0)) + 1, "\D000")