我有一个带有 ms 访问前端的 sql server 数据库。
我想强制数据按顺序输入到特定的表中。
例如,我只能在添加 id = 1 后输入 id = 2,而我只能在添加 2 和 1 后添加 id = 3。
执行此操作的最佳方法是什么?我需要在访问前端添加限制还是需要添加触发器或类似于 sql 表?
我有一个带有 ms 访问前端的 sql server 数据库。
我想强制数据按顺序输入到特定的表中。
例如,我只能在添加 id = 1 后输入 id = 2,而我只能在添加 2 和 1 后添加 id = 3。
执行此操作的最佳方法是什么?我需要在访问前端添加限制还是需要添加触发器或类似于 sql 表?
我同意@Vamsi Pamula,你可以这样做。但是,如果你只想做你正在寻找的东西,那么:
首先,当用户尝试输入新记录时,暂时跟踪假设 10 的新 ID。并且,首先在数据库中查询 Max id,如下所示:
从 YourTable 中选择 isnull(Max(id),0)
假设上述查询返回 8。因此,不应允许 10。现在检查:
if (ReturnedValuefromAboveQry + 1 = NEWID) then
msgbox "Allowed."
else
msgbox "Not Allowed."
End If
如果您想这样做,请将该 id 保留为主键并将其属性设置为identity
(自动增量)。您无需插入该值。插入剩余的列,该 id 将自动保存为 1,2 等等