- ベストアンサー
フォームを開くときにパスワードチェックする方法
アクセス2003,mdb形式です。 成績処理をするためのものを作成しています。 各教員がIDを持っていて、自分が担当するいくつかの科目から特定の科目とテスト回を選ぶフォーム(科目選択F)を経て、生徒名が一覧になっているフォーム(成績入力F)に点数を入力するようになっています。 第三者の担当科目を選択しても、成績入力Fが開けないようにしたいと考えています。 科目選択Fで科目を選んだ後に、IDとパスワードを入力して、チェックしてから成績入力Fを開くようにするためには、あるいは別の方法でも結構ですが、具体的な方法を教えていただきたいと思います。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
テーブルの構成や構造の説明がなされていないので・・ (あったとしてもセキュリティに関する事なので詳しくは説明できないかも) 例えば、8クラスあって英語教師が3人 A先生 1~3、B先生 4~5、C先生 6~8 を担当 を仮定すると どこかのテーブルに担当教師名のフィールドを付加する必要があります。 担当教師名=ID です。 成績入力Fのレコードソースにクエリを設定して その抽出条件に ID を設定すればよろしいのでは? ID とパスワードはどこかの安全なところに収めておく必要がありますが 私の場合は、VBAになりますが、Environ("username")でPCにログオンする際の 『名前』が取得できます。クエリ中では直接Environ関数は使用できないので 標準モジュールに Function GetID() as String getid=environ("username") end function としてクエリの抽出条件に、getid() としてください。 (パスワードは、OS にお任せしています) 一般ユーザーには、なるべくセキュリティを意識させない『作り』が良いと思っています。 このままではクエリをデザインビューで開いて編集されたり テーブルを直接開かれた場合は対処のしようが有りませんので http://hatenachips.blog34.fc2.com/blog-entry-351.html 上記リンクのhatena先生の方法をご検討ください。 なお、MDB の場合はデータベースパスワードの解析ツールが出回っていますので ファイルは安全なところに置いてください。 一旦コピーされて外部に持ち出された場合は無力です。 ユーザーレベルのセキュリティを設定すれば、100% ではないかもしれませんが安全です。 http://office.microsoft.com/ja-jp/access-help/HP005257850.aspx?redir=0 以上、ご参考まで。
お礼
遅くなりましたが、ありがとうございます。 おかげさまで、うまくいきました。