2013-06-12 46 views
0

我有一個SQL服務器數據庫與MS訪問前端。強制數據輸入的順序

我想強制數據按順序輸入到特定的表中。

例如,我只能在id = 1後輸入id = 2,並且只能在添加了2和1後才能添加id = 3。

執行此操作的最佳方法是什麼?我是否需要將限制添加到訪問前端,還是需要向sql表中添加觸發器或類似內容?

+0

是否有任何理由爲什麼你手動分配'ID'值而不是使用'IDENTITY'列?具有正增量值的「IDENTITY」列將(按照自己的設備)分配給增加(但不一定是順序)順序的ID,除非您明確地「RESEED」該表。 –

回答

0

如果您想這樣做,請將該ID保留爲主鍵並將其屬性設置爲identity(自動遞增)。您無需插入該值。插入剩餘的列,該ID將自動保存爲1,2等等

1

我同意@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