このサンプルプログラムは、AccessADP+SQLServerシステムで使用できる排他制御機能を説明しています。
※Access 2003・2007・2010ADP対応、SQL Server 2005・2008・2008R2が必要です。
例えば、販売管理システムなどで、
「請求書発行はひとりで実行させたい」、
「売上伝票を登録している最中は請求書発行させたくない」、
「得意先マスタを誰かが編集中のときは請求書発行を行わせたくない」
などというケースによく遭遇します。
このような『ある処理を実行中の時は、テーブルが関連した別の処理を行わせたくない』場合では、排他制御用テーブル(誰がどの処理を実行中かを示すテーブル)を作成して処理すれば、任意に排他制御機能(ユーザーロック)を実行することができました。
しかし、
この排他制御方式では、ADPプログラムの不具合で異常終了した場合に排他制御情報がテーブル内に残り、次回起動時にテーブルをリセットしなければならないという不都合がありました。
そこで、このサンプルでは従来のテーブルを用いた排他制御方式ではなく、手間がかからない、かつ、システム管理者に負担をかけない方法を採用しました。AccessADP開発者必見です。
※SQL serverのロックマネージャーを利用した方法となっています。
|
★有料ダウンロードはこちらから。
|
[サンプルの内容]
サンプルプログラムは「Accessサンプルプログラムファイル」の他に、「SQL Server準備用スクリプトファイル」、「解説マニュアル(Word2003形式+PDF形式)」を含んでいます。
解説マニュアルでは次の説明をしています。
■システムの起動と終了
■サンプルプログラムの確認テスト
■SQL Serverロック
■排他制御機能の仕組み
■移植のときの注意点
サンプルは、サンプルプログラムで8つの確認テストをすることから始まり、SQL Serverのロックの基礎知識、排他制御機能の実装方法と説明していきます。
AccessADPとSQL Serverのストアドプロシージャの作成経験のある方を対象としていますが、これから始める方にもわかるような説明を書いたつもりです。
キーワードはSQL Serverの「アプリケーションロック」!!
次のリンクから解説マニュアルの一部をご覧いただけます。
ADP排他制御機能解説マニュアル(抄)
|
★有料ダウンロードはこちらから。
|
[メインメニュー]
|
|
起動時に確認テストのためのメインメニューを開きます。
|
[テスト画面]
|


|
想定シナリオに添ってテスト画面を開き、排他制御機能を確認します。
|
[エラーメッセージ表示]
|
|
排他制御機能により画面を開けない場合は、エラーメッセージを表示します。
|
|