■No40793 (hs さん) に返信 > VBでAccessのmdbをDBとしアプリを開発しております。 mdb は、64bit アプリから利用できないという制限もありますので、 他の製品(SQL Server Compact / SQL Server Express 等)を使った方が無難かも。 # もっとも、今から方向修正するわけには行かないのでしょうけれども。 > そこで、別ユーザーが排他モードでmdbをOpenしている事を判別できればと考えております。 単純に mdb に接続してみて、エラートラップで判断してください。 排他接続されている場合、他の接続は全て例外となりますので、 それを Catch してやれば OK です。 > ほかのユーザーが排他モードでOpenしているか判別 > If 排他でなければ 事前判定するのはマズイかと。 判定してから、実際に利用するまでの僅かなタイミングで、 他の排他接続が割り込まれる可能性がありえますので、例外処理等を用いて、 判定と処理を同時に行った方が安全かと思いますよ。 > '一定時間待機 > System.Threading.Thread.Sleep(500) フォームを持つメインスレッドからは、Sleep を呼び出さないようにしてください。 > 現状、複数ユーザーが更新処理を同時に行った際に取得できているエラーは 「他のユーザーまたはプロセスで使用されているの、ロックできませんでした。」というエラーです。 微妙にメッセージが間違っている気も。
- Child Tree -