Accessの権限について

このQ&Aのポイント
  • Access2000勉強中の初心者です。同一データぺースの利用者が複数います。利用者を取扱できる権限によって「担当者」と「責任者」に分けたいと思っています。
  • 担当者はフォームでのデータ入力(レコード作成)ができます。責任者は担当者が入力したデータの検証、レコードの確定、担当者がレコードを変更・削除できないようにするなどの権限を持ちます。
  • 担当者と責任者が行った作業はレコード上に記録されます。会社の中で担当者にデータ入力作業をさせ、その管理を上司がするといったイメージです。
回答を見る
  • ベストアンサー

ACCESSの権限について

Access2000勉強中の初心者です。 次のようなことをしたいのですが、できますでしょうか? 同一データぺースの利用者が複数います。利用者を取扱できる権限によって「担当者」と「責任者」に分けたいと思っています。 1.担当者ができる行為   フォームでのデータ入力(レコード作成) 2.責任者ができる行為   担当者が入力したデータの検証→レコードを確定→   担当者がレコードを変更、削除できなくする。   また、反対に確定したレコードを解除し、担当者が   変更、削除できるようにする。 3.どの担当者がレコードを作製し、どの責任者が検証   したか作業した人の名前をレコード上に記録する。 非常に抽象的な説明で申し訳ないのですが、要は会社の中で担当者にデータ入力作業をさせ、その管理を上司がするといったイメージです。 よろしくお願いします。    

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

  • ベストアンサー
  • 11n_kacie
  • ベストアンサー率42% (21/50)
回答No.1

可能です。簡単に例を書いておきますので参考にしてみてください。 (いろいろな方法があると思いますので、あくまで参考程度です) 1.「ユーザ」テーブルを作成 フィールドはコード、氏名、パスワード、権限フラグなど。 権限フラグはBoolean(Yes/No)型で、trueが責任者、falseが担当者。 2.ログインフォームを作成 コードとパスワードを入力させログイン。 権限フラグにより表示するフォームを変更する。 3.作業対象のテーブルにフィールドを追加 ユーザコードを外部キーとして作成、これは作成者のコードです。 確定コードを作成、これは確定者のコードになります。 確定コードが空欄か否かで更新の可否を判断できます。 リレーションは以下の通り。 「(作業対象)」←「ユーザ」 キーはユーザコード(作成者のもの)。 こんな感じでどうでしょう。

haasan99
質問者

お礼

お礼が遅くなってすみません。ご丁寧な回答ありがとうございます。 参考にさせていただいて、トライしてみようと思います。また、お尋ねするかもしれませんが、よろしくお願いします。

関連するQ&A

  • access2003のエラーについて!!

    access2003のエラーについて!! ACCESSでデータを入力中に突然テーブルのレコードが「レコード削除された」のメッセージが表示され、レコードが消えてしまいました。 また、フォームでは、レコードが表示されていないにもかかわらず、データが表示されます。 新規にレコードを作製しようとしても「レコードは削除されています」のメッセージが表示され、 作成できません。 この状態を、元に戻す方法はないでしょうか?

  • Access テーブルをデータシートビューで開くことが出来ませんというメッセージが出ます

    Accessで単純な入力をさせていたところ、「急に『レコードが削除されました』というメッセージが出たんですけど・・」と担当者が言ってきました。確認したところ、マスターのテーブルも『レコードが削除されました』『テーブルをデータシートビューで開くことが出来ません』とメッセージがでて、関連するクエリなどすべて『レコードが削除されました』とエラーが出ます。入力していた担当者は「変なことはしてません」と言っていますが。入力していた作業内容はもともとあるデータから該当のデータを検索して追記するだけの単純な作業です。Access2000でWinXPを使っています。本当にデータは削除されているのでしょうか?また削除された場合、なんとかデータを復活させる方法はあるのでしょうか?私が操作していないので、どういう経過でこうなったかわからず、ほとほと困っています。考えられる方法があれば教えて下さいませ。よろしくお願いいたします。

  • Accessリレーションシップについて

    お世話になります。 Access2010 普段はクエリにて、いくつかのテーブルやクエリを紐づけているのですが リレーションシップの設定は今までやったことがありません。 ネットで調べて、 ・「参照整合性」にチェックを入れることにより、1対多の多側で1側に存在  しないIDで登録しようとするとエラーになる。   →間違ったデータが入力されるのを防ぐ。 ・多側でリレーションシップが設定されているフィールドに値を入力しない  ことは可能。但し、当該フィールドの「値要求」プロパティを"はい"に  した場合は、入力しないとエラーになる。 ・「フィールドの連鎖更新」にチェックを入れると、1側で変更したものが  多側でも自動的に変更される。 ・「レコードの連鎖削除」にチェックを入れると、1側で削除した場合、  多側で該当するデータをもつレコードが自動的に削除される。 上記については実際に試してみて動きを確認しました。 ※上記の認識違いや、もっと大事なことがあればご指摘、ご教示頂けると  幸いです。 今までは、こっちのテーブルで削除したらこっちのテーブルでも削除 みたいなことをやってたので、便利だとは思うのですが。。 以下のテーブルでリレーションシップの設定を行ったとします。 売上テーブル  ID 商品 担当者コード  1 AAAAA  3  2 BBBBB  1  3 AAAAA  1  4 CCCCC  2  5 CCCCC  3 担当者テーブル 担当者コード 担当者名  1     担当者A  2     担当者B  3     担当者C 売上テーブルの担当者コードと、担当者テーブルの 担当者コードでリレーションの設定を行い、「参照整合性」及び 「レコードの連鎖削除」にチェックを入れたとします。 例えばフォーム上にリストボックスを設置し ID 商品 担当者名 を表示し、リストボックス上で選択されたレコードを、削除ボタンを 押したら、そのレコードが削除されるプログラムを作成します。 ※選択されたレコードのIDを取得し削除クエリで削除。 リストボックスでID:5のレコードを選択し、削除ボタンを押した場合 売上テーブルのID:5のレコードを削除しても、担当者テーブルから 担当者コード:3のレコードは削除されない・・という認識でよろしい でしょうか。 ※要するに、1対多の多側で削除されても1側には影響無し。 同様にリストボックスでID:5のレコードを選択し、削除ボタンを押したときに 担当者コード:3を取得し、まずは担当者テーブルで担当者コード:3の レコードを削除すると、併せて売上テーブルのID:1及びID:5が削除 される。 要するに、上記のケースで「レコードの連鎖削除」の設定を行うと 本来削除すべきID:5以外のレコード(ID:1)まで削除されてしまう ことになる?? ※そもそも例がちょっと悪かったかもしれません。。 何が言いたいかというと、「フィールドの連鎖更新」「レコードの 連鎖削除」は、よーく考えて設定しないと意図しないところまで 更新されたり削除されてしまうのかなと。。なので、設定することに よって、プログラムの作りも変わってきてしまうことになるので しょうか。 理解不足で質問自体もモヤモヤしたものになってしまいましたが、 ご教示のほど、宜しくお願い致します。

  • アクセスのフォームで

    アクセスのフォームで、ボタンを作成し、新規データ入力に際にそのボタンをクリックすると入力したデータが確定となり、次のレコード(新規データ)の入力になる様にするにはどうしたいいですか? 逆に言えば、そのボタンをクリックしない限り、次の新規レコード入力へ行けない様にしたいです。又、ボタンをクリックしても空白の項目があれば次へ行けない様にしたいです。 教えて下さい。よろしくお願いします。

  • 私は、アクセス2007を使っています。

    私は、アクセス2007を使っています。 そこで本の在庫管理のデータベースを作り テーブルに10件ばかりテーターを入力しました。 そこで、2番目のレコードを削除したら、ID2が削除されました。 私は入力した10件のデーターが全て下から上へくりあがると思ってました。 つまり、 ID3のレコードのデーターが繰り上がってID2のレコードに入るとおもって ID2は削除されないとおもってました。 初めは、ID1 ID2 ID3 ID4 ID5 ID6 ID7 ID8 ID9 ID10 レコード削除後  ID1  ID3 ID4 ID5 ID6 ID7 ID8 ID9 ID10 レコード削除とともに!ID2も削除されました。 削除されたID2を戻す方法はないでしょうか? また、新たに ID1 「削除された箇所  」 ID3 ID4の  「 削除された箇所   」に 再び、ID2をID注入し新たな、レコードを作成したいと思います。 作れますでしょうか? もし できるのなら ID2の注入の方法を教えてください よろしくお願いします。

  • Access2000(>_<)

    Access2000を使っています。 既存のデータベースからレコードを削除できないように設定したいと思っています。 そこで、フォームのデザインにて、フォームのプロパティを開き、「データ」タブで「削除の許可」を「いいえ」にしてから閉じてみたのですが、試しにテーブルでレコードを削除してみると、削除できてしまいます。 再びフォームのプロパティを見ると、「削除の許可」が「はい」に戻っています。変更が保存されていないようです。 同様に、特定のフィールドの上書きを禁止したいので、同じくフォームのデザインで、上書きを禁止したいフィールドのテキストボックスのプロパティの「データ」タブにて、「編集ロック」を「はい」にしてから閉じましたが、この変更も保存されておらず、編集ができるままの状態です。 どうすれば変更を保存できるのでしょうか…。 またほかに、レコードの削除を禁止する方法、特定のフィールドのみ上書きを禁止する方法があれば教えてください。初心者なのでわかりやすく教えていただけると助かります。よろしくお願いします。

  • Accessのフォームから削除したレコードをテーブルに保存したい

    Accessを利用してフォームからデータを入力しているのですが、クエリを使わずフォーム画面から不必要なレコードをコマンドボタンで削除しています。削除したレコードをテーブルに保存したいのですが、追加クエリで条件を決めずにフォームの画面から判断したレコードだけを削除し、かつ削除したレコードを削除専用のテーブルに追加する方法を教えてください。よろしくお願いします。

  • Microsoft Accessでどうしても上手くいきません。

    (1)テーブル作成クエリ クエリA で テーブルB を作ります。 (2)テーブルB にフィールドを一つ追加して、変更を保存 (3)テーブルB のレコードを削除 (4)クエリA を 追加クエリ に変更 で追加クエリAを実行すると、入力規則違反でレコードの追加ができません。 追加するフィールドは、オートナンバー型です。 以前は同様の作業で成功したんですけど・・・ すみません助けてください

  • Access2010で、名簿を作って使っています

    Access2010で、名簿を作って使っているのですが。 Access2010で、名簿を作って使っているのですが、 普通の単票形式で、フォームを作って、そこで新規登録したり閲覧したりしています。 その人の顔写真を1データごとに1枚ずつ載せているのですが、 970件を超えたあたりで、いきなりファイルが壊れます。 先に写真以外のデータ(すべて文字)は入力を1000件以上しても、普通に動作しました。 最後に写真だけ貼る作業をしたのですが、970件を超えたあたりで必ず壊れるので、写真が関係あるのかなあ、と勝手に思いまして…。 症状としては、写真を貼って「次のレコード」の繰り返しで貼る作業をしていたのですが、 必ず970件を超えたあたりで「次のレコード」ボタンを押したときに「指定したレコードに移動できません。」と表示されます。 そうなると、もうレコードを移動できません。 仕方がないので閉じようとすると「データベース"を開くことができません。アプリケーションで認識できないデータベースであるか、またはファイルが破損しています。」と出て、 「このレコードを保存できません。」と出ます。 「はい」を押すと強制的に閉じれるのですが、もう一度そのファイルを開くと 「レコードは削除されています。」と出ます。 そしてフォームは開けません。 開こうとすると「レコードは削除されています。」と出ます。 一番メインのテーブルを開いて中を見てみると、 写真が貼れなくなった人(指定したレコードに移動できません。)と表示された時の人のデータが 全項目「#Deleted」になっています。 この症状に身に覚えがある方、 解決方法を知っていらっしゃる方、 おりましたらぜひ、ご教授ください…。 よろしくお願いします。

  • ACCESS2000のフォームについて

    フォーム(←単票形式の)のデザインビューで、ツールボックスから、コマンドボタンウィザードを使い、コマンドボタンを作りましたが、ウィザードの最後のボタン名を指定するところで、漢字変換ができず、困っています。 いつもひらがなにしか入力が出来ないのですが、ここで直接漢字入力にするにはどういう処置をすればいいですか。 それから、追加の質問ですが、 作ったコマンドボタン(←レコード削除用)で、レコードを削除しようとしたところ、「リレーションシップが設定されたレコードが、テーブルにあるため、レコードの削除や変更を行えません。」と、エラーメッセージが表示されます。 レコードをフォームから削除するにはどうすればいいですか。 (※無理にしたいわけではないが、そういう命令も勉強の一環でして見たいのです。) 宜しくお願いします。

専門家に質問してみよう