電子書籍の厳選無料作品が豊富!

いつもお世話になっております。

Access2007を使用しています。
台帳などを作っているのですが、使用できる人を制限したいとおもっています。
Accessファイルに対してパスワードで保護をかけるやり方はわかったのですが、ユーザーIDとパスワードで開くような仕組みはどのようにしたら作れるのでしょうか?

ご存じの方いらっしゃいましたら、ご教授をお願いします。

A 回答 (2件)

大雑把な流れとしては以下のような感じではないでしょうか?


(多少、抜けがあるかもしれませんが)

(01)ユーザーIDとパスワードを格納したテーブルを作成。

(02)VBAにて、InputBoxやフォームなどを使って
  ユーザーに、ユーザーIDとパスワードを入れさせます。

(03)その内容が、(01)の内容と合っていれば、
  普通にmdbファイルを開けるようにします。
  間違っていればQuitなどで強制的にファイルを
  閉じるようにVBAコードを書きます。

(04)(02)(03)の動作をするプログラムを、Autoexecマクロなどで
  ファイルを開いたきに自動起動できるようにします

(05)ShiftキーでのファイルオープンやF11キーを無効にします。


==============================

VBAを使わない方法としては、ユーザーレベルセキュリティの機能が
ありますが、2007ではそれが消されてしまったと思います。
2003で設定して、
2007で使うことならできたと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。

何とか、VBAにて書くことができました。

あとは、shiftとF11の無効化のみです。

お礼日時:2009/08/28 01:37

以前のバージョンにあった、「ワークグループの管理」機能を使用しての


ユーザーごとのパスワード設定や権限の管理は可能ですが、
適用対象は「mdbファイル」(Access2002-2003形式)に限られます。
http://office.microsoft.com/ja-jp/access/HA10166 …
(「accdbファイル」(Access2007形式)の場合はWindows Sharepoint
 Servicesを使うしかない?:この辺り、触れたことがないので・・・(汗))
http://office.microsoft.com/ja-jp/access/HA10165 …
(「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/HP05257 …


※No.1の方が言われるように独自システムで対応される場合は、Shiftキーを
 押しながらファイルを開くと、起動時に動くはずの処理(AutoExecマクロや
 自動で開く設定にしていたフォームなど)が行われなくなるので、それについての
 対処も必要になるかと思います。
 (対処法については「Access AllowBypassKey」でWeb検索して下さい:
  Access2007でも多分対応しているはず(汗))
    • good
    • 0
この回答へのお礼

ありがとうございました。

かなり苦戦しましたが、VBAで何とか書くことができました。

あとは、shiftとf11対策なので、「AccessAllowBypassKey」を参照してみたいと思います。

お礼日時:2009/08/28 01:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す