質問: access2007 accessについて質問させてください。当方はaccess初心者です。 現在サーバーとなるパソコン1にaccess2007をインストールし、発注システムを作成しました。パソコン2~10でこのシステムを共有したくて、パソコン2~10にはaccess2007runtimeをインストールしました。 システムは完了したので、入力フォームを2~10のパソコンに配布し、フォームから入力されたものがパソコン1のテーブルに保存されていく形式をとりたいのですが、配布方法がわかりません。 パソコン1上で、ネットワークから入り目的のmdbを開きフォームのショートカットを作成。ショートカットを配布すれば入力出来るのかと思っていましたが、コンボボックス等が表示されず、この方法ではダメな気がしています。 access初心者なので、どんな設定をすればいいか、また配布方法がわかる方がいらっしゃったら教えていただけると助かります。よろしくお願いします!
回答: まず、今作っている「mdbファイル」をコピーして、2つ(同じ物2つ)にして下さい。 それぞれをリネームして「発注システムマスターデータ.mdb」と「発注システムアプリケーション.mdb」の2つのファイルにしたと仮定します。 本体となるデータベースの「発注システムマスターデータ.mdb」を「pc1の共有フォルダ」に置きます。 このmdbファイルの中には「商品マスタ」「仕入先マスタ」「発注データ」「発注データ累積」などの「テーブル」だけを置きます。クエリやフォームやレポートやモジュールは削除してしまって、削除後「データベースの最適化」をしましょう。 「pc1の共有フォルダ」を「pc1(自分自身)」と「pc2~10」の「仮想ドライブ」にマップします。例えば「n:」にします。 これで「どのpcからも、n:\発注システムマスターデータ.mdbにアクセス可能」になります。 アプリケーションになるmdbファイル「発注システムアプリケーション.mdb」から「テーブル」だけを削除します。クエリ、フォーム、レポート、モジュールはすべて残します。 テーブルを削除したら、今度は「テーブルのリンク」で、n:にある「発注システムマスターデータ.mdb」の中にあるテーブルをリンクします。 これで「発注システムアプリケーション.mdb」は「元のmdbと完全に同じ動作」をする筈です。 動作確認したら「発注システムアプリケーション.mdb」を「mde化」して「発注システムアプリケーション.mde」を作ります(「発注システムアプリケーション.mdb」は消さずに残しておきましょう。じゃないと「バージョンアップや修正や変更」が出来なくなってしまいます) 次に、pc2~10に「access2007runtime」をインストールして「発注システムアプリケーション.mde」を配布します。 これでpc1~10で「発注システムアプリケーション.mde」を起動してテーブル(データベース)にアクセスすると「n:\発注システムマスターデータ.mdb」の中のテーブルを書き換える事になります(マスターテーブルはレコード単位にロックされるので、複数pcから同時起動しても大丈夫です) なお「n:」のドライブマップは「ログオン時に再接続する」にしておきます。 蛇足ですが「マスターのデータベース」は「定期的に、データベースの最適化」を行なって下さい。長期間、最適化をしないでいると「データベースが破損」してアクセス出来なくなり「データベースの最適化/修復」が必要になってしまいます(修復をすれば直ります)