如何在访问表中为autoNumber字段设置多个起始点

时间:2018-04-18 16:06:10

标签: vba ms-access

我正在处理基于MS访问的任务列表,其中所有团队都被分配了一系列用作唯一ID。即,团队A将他们的任务从100编号到199,然后团队B将使用系列200到299广告等。无论何时他们执行任务,他们都会使用宏来获取各自系列中的下一个可用号码。

现在我创建了表格,但无法找到从每个团队系列中返回下一个增量数字的方法。有没有办法完成这项工作?我想在一张桌子里实现这个目标。

我正在使用Access 2016和VBA。

1 个答案:

答案 0 :(得分:0)

您无法使用自动编号。您必须手动分配ID。

要获得每组的下一个ID:

NextIDForGroup = Nz(DMax("IDFieldName","TableName","IDFieldName >= " & [StartingPointForGroup] & " AND IDFieldName < " & [StartingPointForGroup]+[IntervalBetweenGroups]),[StartingPointForGroup] - 1) + 1

如果您确信每个小组至少有一个现有记录,那么它可以简化为:

NextIDForGroup = DMax("IDFieldName","TableName","IDFieldName >= " & [StartingPointForGroup] & " AND IDFieldName < " & [StartingPointForGroup]+[IntervalBetweenGroups]) + 1

我假设您将正确选择起始ID,因此无法重叠。