- ベストアンサー
Accessデータベース管理のセキュリティ設定と伝票テーブルの入力方法について
- Accessのデータベース管理について、製造業で伝票内容の管理をするためのAccessファイルを作成しようと思っています。多数のユーザーが使用するため、どのようにデータベースを管理していけばいいのか困っています。ユーザーアカウントとグループアカウントを組み合わせてセキュリティ設定を行い、各グループの権限を適切に設定する必要があります。また、伝票テーブルの入力方法についても考える必要があります。
- この環境で有効なセキュリティ設定を教えてください。ユーザーアカウントとグループアカウントをどのように組み合わせるか、データベースの分割やレプリケーションの必要性などを考慮しながら設定する必要があります。
- ひとつの伝票テーブルにグループ1がデータを打ち込むとすると、同時入力は可能でしょうか。各人でフォームを分ける方法や、伝票テーブルを用意して入力後に統合する方法を検討する必要があります。また、グループ2はパスワードを設定しない方法についても検討したいです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>1.~4.オブジェクトMDBにテーブルMDBのテーブルをリンク・・ #3で書いたものと一致しています。 1・2はわざわざ分割の処理をするのが面倒であれば最初からテーブルのMDBとオブ ジェクトのMDBを別々に作成してリンクしても構いません。 >結局MDEは使わないですむのですかね。 3.のPCの配布するMDBをMDEファイルにしたものを配布すればセキュリティでフォ ームなどの権限を設定しなくて済みます。 MDBで配布する時にはセキュリティでフォームやクエリ・マクロの変更などを設定 する必要があります。 >グループアカウントや権限の設定はどの段階でしたらよいのでしょうか? 管理者やユーザーの設定は配布するオブジェクトMDBかMDEを配布する前に作り一緒 に配布するのが通常です。 ワークグループ情報を作りそれも一緒に各PCに配布すればロクオンを必要としない セキュリティなども作れます。 セキュリティのウィザードもありますからそれを使って作れば良いと思います。
その他の回答 (4)
- O_cyan
- ベストアンサー率59% (745/1260)
>1.~4.オブジェクトMDBにテーブルMDBのテーブルをリンク・・ #3で書いたものと一致しています。 1・2はわざわざ分割の処理をするのが面倒であれば最初からテーブルのMDBとオブ ジェクトのMDBを別々に作成してリンクしても構いません。 >結局MDEは使わないですむのですかね。 3.のPCの配布するMDBをMDEファイルにしたものを配布すればセキュリティでフォ ームなどの権限を設定しなくて済みます。 MDBで配布する時にはセキュリティでフォームやクエリ・マクロの変更などを設定 する必要があります。 >グループアカウントや権限の設定はどの段階でしたらよいのでしょうか? 管理者やユーザーの設定は配布するオブジェクトMDBかMDEを配布する前に作り一緒 に配布するのが通常です。 ワークグループ情報を作りそれも一緒に各PCに配布すればロクオンを必要としない セキュリティなども作れます。 セキュリティのウィザードもありますからそれを使って作れば良いと思います。
- O_cyan
- ベストアンサー率59% (745/1260)
>Accessファイルは1つしか存在しません。 やっと理解しました。同じデータベースを同時に開き同じフォームを使って入力で は同時に保存出来ません。 >各PCにMDEファイルを作ってしまったらテーブルのデータが分散してしまうのでは >ないでしょうか? グループ1やグループ2で使うのでしたらテーブルだけのMDBとそのデータベースを 使うAccessオブジェクト(フォームなど)が入ったMDBを使った方が良いのでは。 1つあるAccessファイルをテーブルとオブジェクトに分割してオブジェクト側のMDB を各グループのPCに配布してオブジェクトのMDBからテーブルのMDBにリンクさせれ ば各グループが1つのMDBのテーブルを使うので分散などしません。 テーブルのあるデータベース(MDB)は1つです。そのMDBのテーブルを複数のPCにある 入力フォームなどがあるMDBから入力などの処理をさせるんです。入力フォームは 複数のPCにありレコードを保存するテーブルは1つのMDBにあるという事です。
補足
お世話になりますm(_ _)m じっくり読んで図に書いたりして理解を深めてみました。 以下の方法で大丈夫か、見届けてやってください。 1.ベースとなるMDB(テーブル+オブジェクト)を作る。 2.テーブルとオブジェクトを分割しテーブルのみのMDBとオブジェクトのみのMDBを作る。 3.オブジェクトMDBをグループ1とグループ2のPCに配布する。 4.オブジェクトMDBにテーブルMDBのテーブルをリンクさせる。 結局MDEは使わないですむのですかね。 ところでまた初歩的な質問をしてしまうのですが グループアカウントや権限の設定はどの段階でしたらよいのでしょうか? よろしくお願いします。
- O_cyan
- ベストアンサー率59% (745/1260)
>MDBとMDEの違いを VisualBasicコードが含まれるAccessデータベースをMDEとして保存するとモジュ ールはすべてコンパイルされて編集可能なソースコードはすべて削除されます。 データベースは最適化されVBコードの実行は可能ですが表示や編集はできません。 コードが削除されるためAccessデータベースのサイズが小さくなります。メモリの 使用法も最適化され性能が向上します。 MDEファイルとして保存すると下記の処理ができなくなります。 デザインビューで行うフォーム・レポート・モジュールの表示、変更、作成。 オブジェクトライブラリまたはデータベースへの参照の追加・削除・変更。 AccessやVBAのオブジェクトモデルのプロパティやメソッドを使用したコードの変更。 テーブルを保存するバックエンドとオブジェクトを実装するフロントエンドとすれば MDEはフロントエンドデータベースとして合っている という事で(2)の条件に該当すると思います。 >前に同じフォームから3人が同時入力したときに1人しか保存ができなかった マルチユーザー環境で処理すれば同時にできるはずです。 既定の開くモードは共有コード・既定のレコードロックはロックしない・レコード レベルでロックする 私のところはこの環境下で同時に入力等してます。
補足
ふむふむ…分からないところもいくつかありますが これから勉強していきたいと思います。 ただ、私のつたない説明のせいで誤解が生じている気がするので もう少し補足をさせてください。 Accessファイルは1つしか存在しません。 グループ1とグループ2にはショートカットを用意して そこからデータを入力してもらうつもりです。 各PCにMDEファイルを作ってしまったらテーブルのデータが分散してしまうのではないでしょうか? グループ1とグループ2がリアルタイムでデータを共有するという点から考えると ファイルは1つがよいと思っています。 それとも私のほうがとんでもない誤解をしているのでしょうか?? 1からの説明ばかりで申し訳ありませんがよろしくお願いします。
- O_cyan
- ベストアンサー率59% (745/1260)
>(2)データの追加・編集・削除・データのエクスポートは可能であるがAccessの >デザインの変更は不可。 これはAccessでフォーム等を作る場合はMDBからMDEファイルを作成して各グループ のPCに配布すればデザインの変更は出来なくなります。 >(3)・・チェックの入力以外はすべて読み取り専用(データの追加・編集・削除・ >データのエクスポートを不可)とする セキュリティで読み取り専用でテーブルを設定するときチェック用のテーブルを別 に一つ作っておきそのテーブルは読み取り専用としなければチェックテーブルの入力 のみ出来るのではないでしょうか。 >2.ひとつの伝票テーブルにグループ1がデータを打ち込むとすると、同時入力は可 >能でしょうか。 各PCからの入力は出来ます。 >それとも各人で伝票テーブルを用意して入力後に1つのテーブルにまとめる方法を >とるべきなのでしょうか? これはそのテーブルのキーや処理効率にもよるのでは。 伝票番号がそれぞれの伝票にあれば伝票テーブルを各PCに用意して最後にテーブルに書込みに行くのでも良いと思います。 伝票番号が無ければオートナンバー型のキーにしても良いと思います。その場合は 伝票にオートナンバーの番号を記入する手間が発生(付き合わせチェック等)するの で処理が遅くなるなど色々難点が出てきますよね。 状況など良く分かりませんがこのくらいなら助言できると思います。
補足
O_cyanさん、いつもお世話になっておりますm(_ _)m 初心者の為、またいくつか質問させてください。 MDBとMDEの違いを教えていただけないでしょうか? それと2番の質問ですが、前に同じフォームから3人が同時入力したときに 1人しか保存ができなかったという経験があったため質問してみました。 できれば同じフォームでグループ1が入力する方が作るのも楽なんですけどねぇ~f^_^; それともこれができるところがMDEとやらの特性なのでしょうか? ちなみに伝票は番号を持っていて30000件くらいになると思います。伝票をグループ1に入力してもらい、グループ2には伝票番号と仕事名が表示されたフォームに完了したものからチェックボックスにチェックを入れてもらうようにしたいと思っています。チェック時にその他の詳しい情報が見たい時にはグループ1が入力した情報を読むことができる…というシステムにしたいと思っています。
お礼
親切な回答、ありがとうございましたm(_ _)m なんとか頭の中で回路が描けた気がします。 慎重に実行に移していきたいと思います。 初歩的な質問に長々付き合っていただいて本当に感謝しています。 またお世話になることがあるかもしれませんが そのときはよろしくお願いします。