自定义用户自动编号
Custom user autonumber
我一直在寻找解决我遇到的这个自动编号问题的方法。好像哪里都没有确定的答案。
我有一个带有文本字段的表单。
我希望此表单显示 table 中某个字段的下一个数字。
示例:table 包含 3 条记录,其值为 D001、D002、D003
该表格用于输入新记录(新数据)。所以下次我输入数据时,我希望 D004 自动显示在表单中数据代码的文本字段中。
如何做到这一点?
实现此目的的一种方法是创建一个函数来处理您遇到的自动编号问题
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
这样你就可以随时调用该功能,插入你需要的自动号码进行记录
您可以使用以下形式的 BeforeInsert 事件:
Me!AutoNumber.Value = Format(Val(Nz(Right(DMax("[AutoNumber]", "[YourTable]"), 3), 0)) + 1, "\D000")
我一直在寻找解决我遇到的这个自动编号问题的方法。好像哪里都没有确定的答案。
我有一个带有文本字段的表单。
我希望此表单显示 table 中某个字段的下一个数字。
示例:table 包含 3 条记录,其值为 D001、D002、D003
该表格用于输入新记录(新数据)。所以下次我输入数据时,我希望 D004 自动显示在表单中数据代码的文本字段中。
如何做到这一点?
实现此目的的一种方法是创建一个函数来处理您遇到的自动编号问题
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
这样你就可以随时调用该功能,插入你需要的自动号码进行记录
您可以使用以下形式的 BeforeInsert 事件:
Me!AutoNumber.Value = Format(Val(Nz(Right(DMax("[AutoNumber]", "[YourTable]"), 3), 0)) + 1, "\D000")