• 締切済み

Access2000で排他ロックをかけるには?

こんにちは。 Access2000を複数のユーザーで使用したいのですが、 上手く排他ロックがかからなくて困っています。 使用状況を説明しますと、テーブルのみの入ったデータベース(DT)を サーバーに置き、使用するユーザーのコンピュータにはフォームや レポートの入ったデータベース(PG)を置いて、それぞれサーバーから テーブルをリンクしています。 PGには複数のフォームがあり、例えばフォーム(1)を誰かが使用しているときは 他の人はフォーム(1)は使用できないけど、他のフォーム(2)、フォーム(3)の 使用はできるようにしたいのです。 どなたかご存知の方いらっしゃいましたら回答お願いします。

  • satie
  • お礼率90% (246/273)

みんなの回答

  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

基本的には不可能です。 Access2000は、複数のユーザが同時使用する事を考慮していません。  従って、プログラムの方で小細工をする必要があります。  例えば、フォームを開く時に、ある特定のエリアにフラグを立てて、そのフラグがたっている時には、別の誰かが使っているって事で、フォームの使用を禁止する様にするしか手がないです。

satie
質問者

お礼

回答ありがとうございました。 やはりそうするしかないのですね。 やってみます。

satie
質問者

補足

mnabeさんに教えていただいた内容を上司に伝え、 お伺いを立てたところ、ネットワーク対応はしなくても よい、ということだったので、とりあえず現状のまま 使用できそうです。もし今後するようでしたら 参考にさせていただいてやってみたいと思います。 どうもありがとうございました。

関連するQ&A

  • ACCESSで排他モードにするには

    ACCESS97からACCESS2000に移行しました。 ネットワーク上にデータベースを置いて複数で使っています。 私がフォームやレポートをデザインで開こうとしているとき、他の人が同じデータベースを開いていると(同じフォームやレポートを開いてなくても) 「現在、このデータベースには排他モードでアクセスしていません。デザインの変更は保存できません。」 と表示されてしまいます。 そこで「ツール」「オプション」「詳細」で「排他モード」を選んだり、「開く」で「「排他モードで開く」を選んでみたのですが、メッセージは変わりません。 ヘルプやマイクロソフトのHPも読んでみましたが、「共有モード」にすべきか「排他モード」にすべきか、いまひとつわかりません。 ACCESS97の時はこんなことはなかったのですが、2000って「こうゆうもの」なんでしょうか。 よろしくお願いします。

  • Accessの排他問題

    Accessの排他について質問です。 現在、データベースサーバにAccessを使用しています。 そこでクライアント端末から複数のアクセスが生じた場合の排他の対処法を教えてください。 ODBCでリンクしようとしたのですが通常、MS-Access では、Access 自身のデータベース(MDB) を ODBC を介してリンクする事は出来ない仕組みになっているそうです。 なにか良い解決策はないでしょうか?

  • Accessでの排他制御

    アクセスの排他制御に関して質問です。 ネットワーク上のサーバーにアクセスのMDBを置いて、複数の人が更新目的で開く場合、排他制御はどうなるのでしょうか? テーブル単位で、ロックが掛かるのでしょうか? もしそうであれば、複数の人が同時に使えないのですが、回避策はありませんでしょうか?

  • ロックについて

    SQL SERVER2000 お初に投稿します。 初歩的な質問で申し訳ありませんが、ロックについてご質問させて頂きます。 通常、テーブルを更新するときには、排他ロックがかかると思うのですが、 更新途中に他者がテーブルを参照しようとすると、参照できないのでしょうか? また、複数のユーザが同一テーブルを参照していた場合、更新を掛けようとすると 、何かエラーが帰ってくるのでしょうか? 基本的なことで申し訳ありません。 どなたかアドバイスを頂けると、幸いです。

  • 排他モードで開けない

    こんにちは。 os:vista、office:2003です。 自分で作成したアクセスのmdbファイルに フォームを新規で作成しようとしたところ、 「現在、このデータベースは排他モードでアクセスしていません。 変更しても、後で保存できない可能性があります。」 となってしまいます。 なので排他モードで開こうと思い、 ファイル→開く→ファイルを選択→排他モードで開く をやっても 「他のユーザーがこのデータベースを開いているか、 排他モードで開く権限がないため。○○を排他モードで開くことはできません。 このデータベースを共有モードで開きます。」 となってしまい、結局フォームを作ることができません。 ・パソコンはインターネットとしか繋いでないです。(共有はしていない) ・mdbと同じフォルダ内にldbと言う拡張子のファイルがあり、鍵マークが付いています。これが原因でしょうか? 何かわかる方なんでもいいのでご回答よろしくお願いします。

  • Access2007を同時に複数名で使いたい

    Access2007で検索用にデータベースを作って、共有したいのですが、どうしても他に開いていると、「ファイル"sq_fMain"を開くか、書き込むことができません。他のユーザーが排他的に開いているか、データの表示と書き込みを行う権限がありません。」というメッセージが出て、起動時に開くように設定したフォーム(フォーム名:Main)が開きません。 OKをクリックすると左側にオブジェクトは出てくるのですが、リンクではないテーブルは開くことができますが、他からリンクしているテーブルやクエリー(たぶん使用テーブルがリンクなため)開けません。 [Accessのオプション]-[詳細設定]の[既定の開くモード]は共有になっています。 テーブルは他のAccessからテキスト変換(毎日更新)したものなので、リンクにしておきたいのですが、 そこがいけないのでしょうか。わかる方がいたら教えてください。

  • Access2003 テーブルロック

    Access2003で任意のテーブルをロックすることはできますでしょうか? 1.ユーザAがテーブル1にアクセスしにいき、テーブル1をロック 2.ユーザAは処理が終了したらテーブル1のロックを解除 1~2の処理の間はユーザA以外のユーザがテーブル1にアクセスできないようにしたいのです。 ロックファイルを使用するやり方もあると思いますが なるべく簡単に実現したいので、 なるべくロックファイルやアプリケーション変数は使いたくありません。 (サーバーが落ちた場合に永久にロックされてしまうので) 何かよい方法をご存知の方がいらしたらご教授お願いします。

  • 【Access2000】テーブルリンクの排他モードについて

    Access2000でテーブルリンク機能を使用しています。 仮にテーブルリンクをAAAとします。 一人の方がAAAを開き、その状態で他の人がAAAを開こうとすると 排他モードになるらしく開くことができません。 開くことが出来るようにするにはどうすればよいでしょうか? お教えくださいませ。宜しくお願い致します!

  • Access97をAccess2002にするには

    Access97で作成したmdb(オブジェクトは、テーブル(リンクテーブル有り)、クエリ、フォーム、レポート、マクロ(AutoExecのみ)、モジュールを使用)をAccess2002へ移行させようと思うのですが、単純に[ツール]→[データベースユーティリティ]→[データベースの変換]で良いものでしょうか。 もし、何か気をつけなければならないこと、やらなければならないこと等、または変換方法等をご教授いただけないでしょうか。

  • ACCESSのテーブルロックについて

    テーブルのロックについて教えて下さい。 ACCESS2000にてテーブル作成クエリを作成し、その作成したテーブルをフォームで参照しています。 そのフォームを開いたままで、再度、同じテーブル作成クエリを実行すると、 「テーブル○○は現在ほかのユーザまたはプロセスで使用されているので、ロックできませんでした。」 というメッセージが表示され、クエリを完了することができません・・・ これを回避する(クエリを優先する)方法、設定があったら教えて下さい。 宜しくお願いします。

専門家に質問してみよう