AccessからSQL Serverのテーブルを更新する際に、実行結果をそのまま取得する方法はあるでしょうか?
現在連番を利用するAccessツールを作成しております。
これまでAccessツールのローカルテーブルで連番を管理していたのですが、
この度、そのAccessツールが複数台にインストールされ、使用されることになりました。
そして、その為にSQL Serverに連番管理用のテーブルを用意し、
各Accessツールからそちらを参照/更新する仕組みとしたいと考えています。
ただ懸念点として、あるAccessツール(仮にAとします。)で
連番テーブルの値を参照し、「003」という結果が得られたとします。
この後Aでカウントアップ処理が4回実施され、
その結果として連番テーブルの値を「007」に更新します。
この時別のAccessツール(仮にBとします。)がAの更新処理前に連番テーブルを参照していた場合、
結果として「003」が複数のテーブルで連番として用いられてしまい、値が重複してしまいます。
Update処理でそのまま結果が取得出来るのならば、
ロックがかかるので上記の様な重複の番号が採番されることを防げるかと思います。
ただ通常のSQL ServerではOUTPUT句を利用してそういった処理が可能なようなのですが、
Accessのパススルークエリを利用して、OUTPUT句を使おうとしても実行出来ないです。
無いかUpdateの直後、他のツールによる参照/編集が行われない状態で
値の取得を行う方法は無いでしょうか?
ご教授いただけますと幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/10 09:47
2021/03/10 09:58 編集
2021/03/10 15:43
2021/03/11 00:38
2021/03/11 06:54
2021/03/11 07:15 編集
2021/03/11 07:22