0

msアクセスフロントエンドを備えたSQLサーバーデータベースがあります。

特定のテーブルに順番にデータを強制的に入力したい。

たとえば、id = 1 が追加された後にのみ id = 2 を入力でき、2 と 1 が追加された後にのみ id = 3 を追加できます。

これを強制する最良の方法は何ですか? アクセス フロントエンドに制限を追加する必要がありますか、それとも SQL テーブルにトリガーなどを追加する必要がありますか?

4

2 に答える 2

1

私は@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
于 2013-06-12T12:24:27.390 に答える
0

そうする場合は、その ID を主キーとして保持し、プロパティをidentity(自動インクリメント) に設定します。その値を挿入する必要はありません。残りの列を挿入すると、その ID は自動的に 1、2 などとして保存されます。

于 2013-06-12T12:08:12.190 に答える