
WIN XP、ACCESS2000で顧客管理のDBを使用しています。
プリンターなどの関係もあり アクセスは現在一台のパソコンを複数で使用しています。
複数の使用者(一度にアクセスを使うことはない)がDB起動時にパスワードを入力しないとDBに入ることが出来ないようにしたいのですができますでしょうか?
(ツール⇒セキュリティー⇒ユーザーの設定はしました)
また「誰がいつDBを開いたか」「DB書き込んだ人は誰か」などログのようなものの表示や設定などもできるのでしょうか?
教えてください。よろしくお願いいたします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
以前に自分も貴方の言われる事を100%実現出来ました。
1、パスワードについてはロジックを自分で組むより
回答No2のやり方でフォーム単位とかテーブル単位
とかで十分なセキュリティーの管理が出来ました。
2、ログについては自前でプログラムするしか方法はありませんでした。
サンプルとして以下はその時のソースです。
D!MSG = "閉じる"と固定になっていますが
この所を工夫すれば好きな記録が残せます。
Public Function LOG_WRITE()
Dim ACT_FORM As String
Dim DB As DATABASE, D As Recordset
Set DB = CurrentDb()
Set D = DB.OpenRecordset("ログ")
ACT_FORM = Screen.ActiveForm.Name
D.AddNew
D!日 = Date$
D!時間 = Time$()
D!アプリケーション = ACT_FORM
D!利用者 = CurrentUser()
D!MSG = "閉じる"
D.Update
End Function
No.3
- 回答日時:
>ユーザーID及びパスワードのウィンドウは表示されませんでした。
>この部分は別の設定が必要なのでしょうか?
説明不足ですいません。m(__)m
ユーザーIDでチェックされるのはPCを立ち上げる時にユーザーを選択して立ち上げる場合でPCのパーソナルユーザーをチェックしています。LANで使用する場合とか誰が立ち上げたPCなのかというチェックです。
使用する個人ごとにPCを立ち上げてAccessを使用する場合などです。特にそのような運用をしていないのであれば必要ありません。データベースパスワードでの運用となります。下記に個別のIDの代用も含めて書きます。
>「ID等を保存するテーブルを作って・・・」というのは
>同じDB内にテーブルを作るのでしょうか
誰が書き込んだかなどのLogをPC内に取るには最低VBが必要になります。
しかし簡単にやるにはAccess内でテーブルを作りLogのように追加保存していくようにすれば出来ます。
まずIDとパスワードを保存するテーブルとLogテーブルを作ります。
Accessを起動するときにIDとパスワードを入力するフォームを作り起動時に最初にそのフォームを開くように起動時の設定をします。
パスワードのフォームに入力されたIDとパスワードがパスワードのテーブルのレコードと合っているか確認しOKならテーブル等を使えるようにしNGならAccessを終了するようにマクロでも組めば良いと思います。後は各テーブルにIDとシステム日付を保存するフィールドを追加します。
入力されたIDをLogテーブルにPCのシステム日付と一緒に追加保存すれば「いつ」「誰が」という項目はテーブルに保存できます。そのIDを変数に代入するかパスワードのフォームを最小化しておけばそれからIDを取得できるのでテーブルに書き込む様な処理はフォームを使って処理しデータと共にテーブルにIDとシステム日付を保存するようにすればLogテーブルと書き込まれたテーブルのIDとシステム日付フィールドを参照して何が書き込まれたか検索できるようになります。この場合テーブルからレコードを削除すると何を削除したかは判りませんが。
削除もフォームを使って処理するようにすればVB等で何テーブルの何のレコードを削除したか別のテーブルに保存することも出来ます。
雑然と書いてしまいましたがこの様な感じで出来ます。
早速ご回答いただきありがとうございました。
できるかもと思いながら その方法が全く思いつかなかったので
出来る方法をずばりお答え頂きとてもうれしいです。
ただ現在の私では作ることができないので 急ぎ(すぐにでもやらなきゃななので・・・)もう少し勉強してからチャレンジしたいと思います。
取り急ぎ ありがとうございました。
No.2
- 回答日時:
>現在はパスワードなしでDBに入ることもできてしまう
パスワード設定が正しく出来ていないのではないでしょうか。データベースパスワードを再度設定しなおしてみてください。(パスワードを設定する前にmdbのバックアップは取っておいてください。)
データベースパスワードが設定できれば後はユーザーレベルの権限を与えてユーザーアカウントを作ればまずまずのセキュリティにはなります。
後はヘルプの Accessのセキュリティの概要 でも参照してみてください。
>「誰がいつDBを開いたか」「DB書き込んだ人は誰か」・・
>ログのようなものの表示や設定などもできるのでしょうか
「誰が」というのはそのままでは記録できません。開いたりする際にID等を保存するテーブルでも作って開いた人のIDや時間をテーブルに保存するようにしないとダメでしょう。
この回答への補足
ご回答ありがとうございました。
排他モードで1パスワードの設定ができました。
DBを開くとともにパスワードウィンドウが表示されるようになりました。
その状態でユーザーを新規登録しセキュリティーレベルを設定したのですが DBを開くとともに ユーザーID及びパスワードのウィンドウは表示されませんでした。この部分は別の設定が必要なのでしょうか??
また「ID等を保存するテーブルを作って・・・」というのは 同じDB内にテーブルを作るのでしょうか?また別にDBを作るのでしょうか?このレベルになるとVBAなどの知識がないと難しいのでしょうか?
教えてください。
よろしくお願いいたします。
O_cyan様
ご回答ありがとうございました。
排他モードでツール⇒セキュリティー⇒パスワードの設定で再度パスワードを設定したら、1パスワードの設定が出来ました。
今から全員のユーザーとパスワードを再設定してみます。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Windows 10 windowsの起動パスワードについて 1 2022/08/15 10:19
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- SQL Server SQL ServerでDBを構築。これは開発? 4 2022/05/28 14:10
- MySQL AWSのRDSを無料枠で使用しておりますが、2日前にDBインスタンスを作成し、現在確認したらDBイン 1 2022/07/19 23:49
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- Windows 10 Microsoft Windowsアカウントについて 2 2022/10/27 11:42
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessでテーブル名やクエリ名...
-
Accessでテーブルからテーブル...
-
Access 2010 VBAで日付ごとカテ...
-
Accessの追加クエリで既存のテ...
-
データ型の変更
-
3つの表を1つに縦に連結する
-
テーブルの結合と主キー(1,...
-
Accessでvlookupみたいなことは...
-
ACCESSで複数テーブルのクエリ抽出
-
アクセスで消し込みがしたい
-
Accessで、複数のテーブルで随...
-
エクセルのFIND関数の複数セル...
-
Accessクエリでの、LIKE条件
-
Accessのフォームの並び替えを...
-
Countと受付状態の表示に...
-
ツリー構造をRDBで表現するには?
-
AccessでのNULLのレコードの表...
-
パススルークエリをテーブル作...
-
フォームの計算がテーブルに反...
-
Accessでテーブルにパスワード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでテーブル名やクエリ名...
-
Accessでテーブルからテーブル...
-
Accessでvlookupみたいなことは...
-
access テーブル内のレコード...
-
SQLで条件指定結合をしたいがNU...
-
Accessレコードの追加や変更が...
-
Accessクエリでの、LIKE条件
-
ツリー構造をRDBで表現するには?
-
Accessの追加クエリで既存のテ...
-
デザインビューで、連結式 を...
-
ODBCで接続するとDBに変更/追加...
-
2つのテーブルを比較して一致し...
-
ACCESSに同時アクセス(編集)を...
-
ACCESSのSQLで数値型に変換する...
-
ファイルメーカ 検索実行せず...
-
Accessでテーブルにパスワード...
-
テーブル作成クエリで主キーを設定
-
ACCESSで指定されたテーブルか...
-
SQLで日付を条件に削除したい
-
パススルークエリをテーブル作...
おすすめ情報