我有一个SQL服务器数据库与MS访问前端。强制数据输入的顺序
我想强制数据按顺序输入到特定的表中。
例如,我只能在id = 1后输入id = 2,并且只能在添加了2和1后才能添加id = 3。
执行此操作的最佳方法是什么?我是否需要将限制添加到访问前端,还是需要向sql表中添加触发器或类似内容?
我有一个SQL服务器数据库与MS访问前端。强制数据输入的顺序
我想强制数据按顺序输入到特定的表中。
例如,我只能在id = 1后输入id = 2,并且只能在添加了2和1后才能添加id = 3。
执行此操作的最佳方法是什么?我是否需要将限制添加到访问前端,还是需要向sql表中添加触发器或类似内容?
如果您想这样做,请将该ID保留为主键并将其属性设置为identity
(自动递增)。您无需插入该值。插入剩余的列,该ID将自动保存为1,2等等
我同意@Vamsi Pamula,你可以做到这一点。但是,如果你只想做你正在寻找的东西,那么:
首先,当用户试图输入新记录时,现在跟踪新的ID给定假设10。并且,在数据库中最大的ID第一查询之前,如:
选择ISNULL(MAX(ID),0)YourTable
假设上述查询返回8.所以,10不应该被允许。现在检查:
if (ReturnedValuefromAboveQry + 1 = NEWID) then
msgbox "Allowed."
else
msgbox "Not Allowed."
End If
是否有任何理由为什么你手动分配'ID'值而不是使用'IDENTITY'列?具有正增量值的“IDENTITY”列将(按照自己的设备)分配给增加(但不一定是顺序)顺序的ID,除非您明确地“RESEED”该表。 –