我正在处理基于MS访问的任务列表,其中所有团队都被分配了一系列用作唯一ID。即,团队A将他们的任务从100编号到199,然后团队B将使用系列200到299广告等。无论何时他们执行任务,他们都会使用宏来获取各自系列中的下一个可用号码。
现在我创建了表格,但无法找到从每个团队系列中返回下一个增量数字的方法。有没有办法完成这项工作?我想在一张桌子里实现这个目标。
我正在使用Access 2016和VBA。
答案 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,因此无法重叠。