• ベストアンサー
  • すぐに回答を!

Access2007

Accessについて質問させてください。当方はAccess初心者です。 現在サーバーとなるパソコン1にAccess2007をインストールし、発注システムを作成しました。パソコン2~10でこのシステムを共有したくて、パソコン2~10にはAccess2007Runtimeをインストールしました。 システムは完了したので、入力フォームを2~10のパソコンに配布し、フォームから入力されたものがパソコン1のテーブルに保存されていく形式をとりたいのですが、配布方法がわかりません。 パソコン1上で、ネットワークから入り目的のMDBを開きフォームのショートカットを作成。ショートカットを配布すれば入力出来るのかと思っていましたが、コンボボックス等が表示されず、この方法ではダメな気がしています。 Access初心者なので、どんな設定をすればいいか、また配布方法がわかる方がいらっしゃったら教えていただけると助かります。よろしくお願いします!

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数351
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

まず、今作っている「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:」のドライブマップは「ログオン時に再接続する」にしておきます。 蛇足ですが「マスターのデータベース」は「定期的に、データベースの最適化」を行なって下さい。長期間、最適化をしないでいると「データベースが破損」してアクセス出来なくなり「データベースの最適化/修復」が必要になってしまいます(修復をすれば直ります)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます! 思っていた通り完成しました!助かりました>< ベストアンサーとさせていただきます。

関連するQ&A

  • Access2007での共有

    こんにちは。 Access2007で調べたのですが、どうしてもわからないことがあります。 どなたか教えて頂けますでしょうか? Access2007でシステムを作り、1台のメインPC(Vista)にAccessを入れました。 フォームなど入っているAccess(A)とデータベースAccess(B)とを分けています。 LANでつながっているPC2台(Vista)にAccess(A)をショートカットで持ってきているのですが、 1人が使っているともう1人は使えません。 Access(A)をそのままショートカットを持ってきた場合と Access(A)はそれぞれのPCに入れ、リンクで同じAccess(B) に接続しても同じでした。 何かネットワークのセキュリティが関係しているのでしょうか? それともAccessの設定の問題なのでしょうか? 宜しくお願い致します。

  • access2007から2003へ

    初心者で変な質問かもしれませんが・・、 ACCESS2007がインストール済みなのですが、 ACCESS2003でしかうまく動作しないフォームなどがあって、 2003にダウングレードしないといけません。 その場合は、2003のアップグレード版を買ってインストールってできるのでしょうか? いまいち普通のものとアップグレード版との違いがよくわからないのですが、ライセンスの内容とかをあとでマイクロソフトがチェックしているやり方とかが違うのでしょうか? もとの2007のライセンスはあるわけだから、アップグレード版でもいいのかなと思いまして・・・。

  • ACCESS2007のインストールについて

     昨年買ったパソコン(office365使用・バージョンはワード、エクセル、パワーポイント2013です。また自身にとって二台目で、アクセス2007などが入っていた最初のパソコンは処分に出しました)に先日ACCESS2007をインストールしましたが、後日、ある人に本来ACCESS2007のようなソフトは一台のパソコンのみで使用することができ、二台以上はできないはずといわれました。  そこで質問ですが、アクセスをインストールしたことはまずい行為だったのでしょうか。  ちなみに、プロダクトキー?入力などを経てインストールは正常に行われたようで、また最初のパソコンについてはACCESS2007などはアンインストールせず処分に出しました。  また、ACCESS2007はヤフオフで中古で購入したと思われます。

その他の回答 (1)

  • 回答No.2
  • IDii24
  • ベストアンサー率24% (1595/6502)

一応Accessは個人用DBなので共有はお勧めしません。原因を簡単に説明すると、Excelを全員で共有するとロックが掛かります。Accessでも同じ。テーブルはExcelのブックだと思えばよいです。同じテーブルをみんなで更新は出来ないのです。Excelは読み取り専用で開く事が出来ます。Accessもテーブルを読み取り専用で開く必要があるのです。 書き込みはできません。これを避けるには、テーブルを開かない事なのです。更新したいデーターだけ数行を取得する。更新時にはその数行だけを更新する。この考えはどんな大きなDBでも同じなのです。このような処理を入れないなら共有をしてはいけません。 それぞれが使った後、最後にマージするとかの処理ならよいでしょう。そのまま共有すればいずれはDBは壊れます。そういうものなのです。でなければMSはわざわざSQLサーバーなんか出しません。 SQLServerにはExpress版という個人向けもありますがそれも共有はライセンス的に不可になってます。共有するということは大変だと認識した方が良いし、これから共有するDBを作りたいならSQLSeverを学んだ方が良いと思います。 少なくてもAccessだけでつなぐよりはSQLのExpressを使うべきでしょう。AccessからSQLを使うにはADO接続が必須ですがリンクテーブルでも参照だけはOKです。ただ更新はADOを使うべき。これはハードルが高いですが、勉強は無駄にはなりません。むしろAccessを勉強して慣れてしまった人ほど決して大きなシステムを作れないのです。それはAccessの特殊な考えではデーターベースは理解できて無いまま成長してしまうからです。子供のまま大人になってしまうということで、基本をそれから学ぶ事は決してできなくなるからです。 それなのになぜAccessなんかあるかと言えばあくまでもExcelの延長としてあるわけです。画面を作るのはAccessは簡単なので画面だけ利用して接続はVBAを使う。これが正しいやり方です。しかもこの方法だとExcelでも出来てしまいます。Excelでフォームを作成しSQLに繋ぐ。これでも立派なシステムになります。 このように汎用的に使えるコードを学ぶのはVBAとADOを徹底的に物にし、さらにデーターベースと言うものを理解するべきなのです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

おっしゃる通りです。いままさに勉強中でありますが、すこし急ぎのとりあえず仕事だったので質問させていただきました。 ありがとうございました。

関連するQ&A

  • Access2007で。

    Access2007で。 今Access2007を使ってちょっとしたシステムを開発してるのですが、フォーム内のテキストボックスに入力した文字列と、テーブル内のデータを参照する事ってできるのでしょうか? 例えば テーブルA、フォームBとして テーブルAには 問題番号 問題文 答え 上記のフィールドがあり、 フォームB内の解答テキストボックスと、テーブルAの答えフィールド内データを参照し、 同じデータがあった場合はフォームCを開き、データがなかった場合はフォームDを開く。 このような形にしたいのですができるのでしょうか? 無知な質問で恐縮ですが、ご教授ください。

  • Access2007でAccess2000のモジュールを動かす

    いつもお世話になります。 Access2007でAccess2000のモジュールを動かすことができなくて困っています。 新しい職場のPCが全てAccess2007に変わってしまいました。 今までは、Access2000でした。そのとき作成したフォームモジュールがAccess2007で全く動作しなくなり困っています。 Access2007でAccess2000ファイルはそのまま読み込み、フォーム自体は表示されます。しかし、VBで作成したモジュールが全く動作しません。 自宅では、Access2000のままですので、Access2000をAccess2007のファイルに変換することなくAccess2000のフォームモジュールを動かす方法はあるのでしょうか。 よろしくお願いします。

  • access2007 とaccess2000

    access2000で作成したプログラムがあるのですが、 これをaccess2007でそのまま使えますか? 以前、access97からaccess2000にはデータベースの 変換が必要でした。 access2000とaccess2003は互換性があってデータベースは そのまま使用できました。 access2007はどうなんでしょうか?

  • Access2007

    Access2007でAccess2003で作ったプログラムがうまく動きません。”コンテンツを有効にする”や”信頼できる場所”の登録もしてみましたが、ダメでした。 PCのOSは XP 、Office Personalプリインストール版、Access2007は別途買ってきてインストールしました。 このままプログラムを動かせないようなら、Accsessを2003に変えたいのですが、不具合等は起こらないでしょうか。

  • Access2007のライセンスについて質問です。

    Access2007のライセンスについて質問です。 やりたいことは、 Access2007を1つ購入してサーバーにインストールし、 Access2007でシステムを構築して、保守しながら、 各端末からリモートデスクトップで開いて使用したいと思っています。 その場合、Access2007のライセンスは端末の台数分必要ということですが、 「ランタイムモード」にて使用した場合でもやはり 台数分のライセンス料は必要となりますでしょうか。 Access2007とAccess2007ランタイムを共存させる方法も 探しましたが、うまくいきませんでした。 その他、上記の条件をクリアするいい方法がありましたら ご教授頂きますようお願い致しま

  • Access2007に詳しい方、お教えください。

    Access2007で、フィールドのデータ型を「メモ型」に定義しているのに、実際にデータを入力してみると255文字までしか入力できません(画面上では入力できるのですが「更新」すると256文字目以降が消えてしまいます。どこかの設定が誤っているのでしょうか。Access2007にお詳しい方がおられましたら、お教えいただければ幸いです。

  • access2007マクロの作成について

    access2007初心者です。 現在、access2007にて顧客管理をしております。 顧客テーブルなるものがあり、別に入力フォームとして新規作成や修正などができるフォーム(単票)を作成してあります。 そこで、顧客テーブルで行(レコード)を選択すると、その行に対応した入力フォームが開くという設定にするには、どのようなマクロを作成すればよろしいでしょうか?マクロでできるのかどうかもわかりません。 どなたか教えていただけないでしょうか?

  • Access2007で

    Access2007で スイッチボードなどのフォームを右上の[×]ボタンで閉じれなくするには、どうしたらいいのでしょうか? 教えて下さい。

  • 教えて!Access2007

    Access2007 について教えてください。 昨日、困り度”困ってます”で質問したのですが、まだ回答が無く、早急にDBを仕上げなければならなくなり、困り度を”すぐに回答を”に変更して再度質問を投稿させてもらっています。 どなたかご存知の方がいらしたらよろしくお願いします。 m(_ _)m Accessは初心者なのですが、仕事でAccess2007を使って案件を管理するDBを作成しなくてはなりません。 テンプレートを見たら”案件管理”というテンプレートがまさにぴったりだったので、そのテンプレートを少し編集しながら作成しています。 このテンプレートの”案件詳細フォーム”の”コメントタブ”に”新しいコメント”と”履歴”という項目があり、”新たしいコメント”に入力した情報が”履歴”に反映されていくようになっているのですが、反映された情報の最初に[バージョン:日付 時間]が追加されます。 たとえば ”新しいコメント”に”テスト1”と入力すると”履歴”の欄には [バージョン: 2012/10/06 16:17:50 ] テスト1 と表示されます。 履歴のところには”新しいコメント”で入力した文字だけ追加していきたいのですが、[バージョン: 2012/10/06 16:17:50 ] を表示しない方法があったら教えていただけますか。 デザインビューで開いてみると”履歴”の欄には =ColumnHistory([RecordSource],"コメント","[ID]=" & Nz([ID],0)) と書かれています。 Accessが不慣れなため、なるべく簡単な方法でできたらうれしいです。 どうぞよろしくお願いします。

  • Access2007のフォームについて

    Access2007のフォームにスクロールバーを設定する方法を教えてください。 現在スクロールバーがないのでフォームの下のほうが見れません。