
Windows NTでAccess2000を使っています。
製造業で伝票内容の管理をするためのAccessファイルを作ろうと思っています。
これまではユーザーが2~3人くらいだったので気にもとめていなかったのですが、
今回は多数のユーザーが使用するためどのようにデータベースを管理していけばいいのか困っています。
以下の質問にどれか1つでも結構ですので答えをいただければ幸いです。よろしくお願いします。
<ユーザー>
(1)管理者(私)…全ての権限をもつ
(2)グループ1(8人くらい)…各人が担当する伝票のデータを入力。
ゆえにデータの追加・編集・削除・データのエクスポートは可能であるがAccessのデザインの変更は不可。
(3)グループ2(さらに5つのグループに分かれる)…伝票のデータを元にして各グループのフォームで作業が終了次第チェックを入れてもらう。
ゆえにチェックの入力以外はすべて読み取り専用(データの追加・編集・削除・データのエクスポートを不可)とする。
1.この環境で有効なセキュリティ設定を教えてください。
(ユーザーアカウントとグループアカウントをどう組み合わせるか。
データベースの分割やレプリケーションの必要があるかなど)
2.ひとつの伝票テーブルにグループ1がデータを打ち込むとすると、同時入力は可能でしょうか。
(各人でフォームを分ければ可能なのでしょうか?それとも各人で伝票テーブルを用意して
入力後に1つのテーブルにまとめる方法をとるべきなのでしょうか?)
3.できればグループ2はパスワードを設定したくないのですが可能でしょうか。
その他、アドバイスがありましたらあわせてよろしくお願いします。
No.5ベストアンサー
- 回答日時:
>1.~4.オブジェクトMDBにテーブルMDBのテーブルをリンク・・
#3で書いたものと一致しています。
1・2はわざわざ分割の処理をするのが面倒であれば最初からテーブルのMDBとオブ
ジェクトのMDBを別々に作成してリンクしても構いません。
>結局MDEは使わないですむのですかね。
3.のPCの配布するMDBをMDEファイルにしたものを配布すればセキュリティでフォ
ームなどの権限を設定しなくて済みます。
MDBで配布する時にはセキュリティでフォームやクエリ・マクロの変更などを設定
する必要があります。
>グループアカウントや権限の設定はどの段階でしたらよいのでしょうか?
管理者やユーザーの設定は配布するオブジェクトMDBかMDEを配布する前に作り一緒
に配布するのが通常です。
ワークグループ情報を作りそれも一緒に各PCに配布すればロクオンを必要としない
セキュリティなども作れます。
セキュリティのウィザードもありますからそれを使って作れば良いと思います。
親切な回答、ありがとうございましたm(_ _)m
なんとか頭の中で回路が描けた気がします。
慎重に実行に移していきたいと思います。
初歩的な質問に長々付き合っていただいて本当に感謝しています。
またお世話になることがあるかもしれませんが
そのときはよろしくお願いします。
No.4
- 回答日時:
>1.~4.オブジェクトMDBにテーブルMDBのテーブルをリンク・・
#3で書いたものと一致しています。
1・2はわざわざ分割の処理をするのが面倒であれば最初からテーブルのMDBとオブ
ジェクトのMDBを別々に作成してリンクしても構いません。
>結局MDEは使わないですむのですかね。
3.のPCの配布するMDBをMDEファイルにしたものを配布すればセキュリティでフォ
ームなどの権限を設定しなくて済みます。
MDBで配布する時にはセキュリティでフォームやクエリ・マクロの変更などを設定
する必要があります。
>グループアカウントや権限の設定はどの段階でしたらよいのでしょうか?
管理者やユーザーの設定は配布するオブジェクトMDBかMDEを配布する前に作り一緒
に配布するのが通常です。
ワークグループ情報を作りそれも一緒に各PCに配布すればロクオンを必要としない
セキュリティなども作れます。
セキュリティのウィザードもありますからそれを使って作れば良いと思います。
No.3
- 回答日時:
>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は使わないですむのですかね。
ところでまた初歩的な質問をしてしまうのですが
グループアカウントや権限の設定はどの段階でしたらよいのでしょうか?
よろしくお願いします。
No.2
- 回答日時:
>MDBとMDEの違いを
VisualBasicコードが含まれるAccessデータベースをMDEとして保存するとモジュ
ールはすべてコンパイルされて編集可能なソースコードはすべて削除されます。
データベースは最適化されVBコードの実行は可能ですが表示や編集はできません。
コードが削除されるためAccessデータベースのサイズが小さくなります。メモリの
使用法も最適化され性能が向上します。
MDEファイルとして保存すると下記の処理ができなくなります。
デザインビューで行うフォーム・レポート・モジュールの表示、変更、作成。
オブジェクトライブラリまたはデータベースへの参照の追加・削除・変更。
AccessやVBAのオブジェクトモデルのプロパティやメソッドを使用したコードの変更。
テーブルを保存するバックエンドとオブジェクトを実装するフロントエンドとすれば
MDEはフロントエンドデータベースとして合っている
という事で(2)の条件に該当すると思います。
>前に同じフォームから3人が同時入力したときに1人しか保存ができなかった
マルチユーザー環境で処理すれば同時にできるはずです。
既定の開くモードは共有コード・既定のレコードロックはロックしない・レコード
レベルでロックする 私のところはこの環境下で同時に入力等してます。
この回答への補足
ふむふむ…分からないところもいくつかありますが
これから勉強していきたいと思います。
ただ、私のつたない説明のせいで誤解が生じている気がするので
もう少し補足をさせてください。
Accessファイルは1つしか存在しません。
グループ1とグループ2にはショートカットを用意して
そこからデータを入力してもらうつもりです。
各PCにMDEファイルを作ってしまったらテーブルのデータが分散してしまうのではないでしょうか?
グループ1とグループ2がリアルタイムでデータを共有するという点から考えると
ファイルは1つがよいと思っています。
それとも私のほうがとんでもない誤解をしているのでしょうか??
1からの説明ばかりで申し訳ありませんがよろしくお願いします。
No.1
- 回答日時:
>(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が入力した情報を読むことができる…というシステムにしたいと思っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- その他(プログラミング・Web制作) Accessの代わりのノンプログラムデータベース作成 4 2022/10/21 09:26
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- IT・エンジニアリング 帳票出力を行う単体テストのテストデータが作成できません 2 2023/08/26 21:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブル外のテキストをクリッ...
-
他のMDBのテーブルに追加したい
-
SQLSERVERからデータを取得する...
-
.netでコンボボックスの設定方法
-
通常使うプリンタを変更したい
-
Access 2000 VBA リンクテーブル
-
データセットの違いにつきまして
-
VB6でのSQLでのアクセスデータ...
-
テーブル範囲内のセルを右クリ...
-
HTMLのテーブルの行数が多くな...
-
VB2008・DataGridの表示について
-
ACCESSでフォームの明細で他の...
-
クロス集計?
-
複数テーブルへの同時INSERT
-
文字検索BM法
-
種類別のテーブル作成方法について
-
テーブルコピー処理
-
DataGridの中身をDataSetにテー...
-
存在しないレコードの作成SQ...
-
テーブルをそのままエクスポー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
『列名 '担当者CD' があいま...
-
VBとアクセスでSQL文に変...
-
SQLを発行とは?クエリの作成と...
-
ExcelVBAからAccessMDB内のテー...
-
[C#] DataGridViewでコンボボッ...
-
エクセルのテーブルを解除する...
-
ACCESS2010 実行時エラー 2766
-
CSVファイルのエクスポートでソ...
-
他のMDBのテーブルに追加したい
-
AccessからExcelへエクスポート...
-
Accessで別mdbのテーブルをコピー
-
手動または分散トランザクショ...
-
★クリスタルレポートの元になる...
-
COBOLのINVALID KEYが理解でき...
-
Accessで宛名ラベルに同一宛先...
-
DataGridViewに複数テーブルの...
-
.net 複数の主キーを設定する方法
-
Excel複数シートをaccessへ一括...
-
アクセステーブル、リンクとロ...
-
VB.NETでのAccessテーブルリンク
おすすめ情報