- ベストアンサー
Access2007 アカウント パスワード
いつもお世話になっております。 Access2007を使用しています。 台帳などを作っているのですが、使用できる人を制限したいとおもっています。 Accessファイルに対してパスワードで保護をかけるやり方はわかったのですが、ユーザーIDとパスワードで開くような仕組みはどのようにしたら作れるのでしょうか? ご存じの方いらっしゃいましたら、ご教授をお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
大雑把な流れとしては以下のような感じではないでしょうか? (多少、抜けがあるかもしれませんが) (01)ユーザーIDとパスワードを格納したテーブルを作成。 (02)VBAにて、InputBoxやフォームなどを使って ユーザーに、ユーザーIDとパスワードを入れさせます。 (03)その内容が、(01)の内容と合っていれば、 普通にmdbファイルを開けるようにします。 間違っていればQuitなどで強制的にファイルを 閉じるようにVBAコードを書きます。 (04)(02)(03)の動作をするプログラムを、Autoexecマクロなどで ファイルを開いたきに自動起動できるようにします (05)ShiftキーでのファイルオープンやF11キーを無効にします。 ============================== VBAを使わない方法としては、ユーザーレベルセキュリティの機能が ありますが、2007ではそれが消されてしまったと思います。 2003で設定して、 2007で使うことならできたと思います。
その他の回答 (1)
- DexMachina
- ベストアンサー率73% (1287/1744)
以前のバージョンにあった、「ワークグループの管理」機能を使用しての ユーザーごとのパスワード設定や権限の管理は可能ですが、 適用対象は「mdbファイル」(Access2002-2003形式)に限られます。 http://office.microsoft.com/ja-jp/access/HA101662271041.aspx (「accdbファイル」(Access2007形式)の場合はWindows Sharepoint Servicesを使うしかない?:この辺り、触れたことがないので・・・(汗)) http://office.microsoft.com/ja-jp/access/HA101656301041.aspx#2 (「Windows SharePoint Services を使用した Web での共同作業」の項を参照) ・・・「ワークグループの管理」を使用した管理は、正直、最初は意味がわからない 感じがするのではないかと思いますが、大雑把な流れだけあっさりと・・・(汗) (詳細は、1つ目に挙げたURLを参照下さい) 1)新規データベースをmdb形式で作成 2)『データベース ツール』リボンの『管理』枠にある『ユーザーと権限』の「▼」 をクリックして、「セキュリティ ウィザード(W)」を選択 ※mdb形式でないと、『管理』枠は表示されないようです。 3)ウィザードに従って、処理を進め、「mdwファイル」と「セキュリティ設定された データベース」を作成 ※拡張子が「.bak」のファイルは、セキュリティ設定前のファイルです(拡張子 のみ書き換え)。既存のデータベースにセキュリティ設定を行った後で、 パスワードを忘れるなどして開けなくなった場合には必須になるので、 削除はしないことをお勧めします(完全な新規ファイルの場合は削除可)。 ※こちらはAccess2003/2007が共存した環境で使用しています。 Access2007単独だとウィザードが止まるようでしたら、ご容赦願います(汗) ウィザード上では、とりあえずは殆どデフォルトのままでもOkだと思います。 (PIDやWIDといったものが出ますが、通常はこれを入力するシーンは発生しない) 指定するとしたら、ファイル名ぐらいでしょうか。 それ以外は、上記ID系を除いて、後で編集が可能ですので。 (上でウィザードを呼び出した「▼」で 「ユーザー/グループのアカウント(A)」でユーザーやグループの追加/削除が 「ユーザー/グループの権限(P)」で各ユーザー・グループの権限が、 それぞれ編集できます) なお、最後に表示されるレポートは、ウィザード上でも警告が出るはずですが、 必ず保存してください。 (・・・ウィザードの各画面は、念のためスクリーンショットで記録を取った方が 安心かも・・・: 上記のID系が、レポートで「作成済み」としかでなかったような、おぼろげな 記憶があるので) 一応、Access2003時の情報も参考までに挙げておきます: http://office.microsoft.com/ja-jp/access/HP052578541041.aspx ※No.1の方が言われるように独自システムで対応される場合は、Shiftキーを 押しながらファイルを開くと、起動時に動くはずの処理(AutoExecマクロや 自動で開く設定にしていたフォームなど)が行われなくなるので、それについての 対処も必要になるかと思います。 (対処法については「Access AllowBypassKey」でWeb検索して下さい: Access2007でも多分対応しているはず(汗))
お礼
ありがとうございました。 かなり苦戦しましたが、VBAで何とか書くことができました。 あとは、shiftとf11対策なので、「AccessAllowBypassKey」を参照してみたいと思います。
お礼
ありがとうございました。 何とか、VBAにて書くことができました。 あとは、shiftとF11の無効化のみです。