教えて!gooにおける不適切な投稿への対応について

お世話になっています。
ACCESS初心者ですがよろしくお願いいたします。

現在、勤務表を社員が各自で見れるようなシステムをアクセスで組んでいます。
いろんな人が見るのでACCESSにログが残せないかと、ネット上を探してみたところ詳しいことはのっておらず困っています。
残したいログはPC名、ユーザー名、社員ID、使用日、時間、使用内容です。
ACCESSを開いたときからログを取り始めたいです。
何かいい方法はありませんでしょうか?

ちなみにですが、今できていることは、データベースを表示しない。Shiftの無効・有効。ツールバーの非表示。です。
ACCESSを開くと最初にメニュー画面が出るようになっています。
メニューには明細票一覧ボタンとパスワード変更ボタン・終了ボタンとShiftの無効・有効のパスワード入力ボタンがあります。
明細票一覧・パスワード変更は社員IDとパスワードが一致しなければ入れないようになっています。

聞かれそうな情報はかいてみましたが足りないようでしたら申し訳ありません。
どうかよろしくお願いいたします。

gooドクター

A 回答 (2件)

いい方法といいますか、提案です。


PC名、ユーザー名は各々、Environ("Computername") とEnviron("Username") で
得られます。使用日時は、Now()。
社員IDは・・・今やっている方法の延長で求めてもらうとして
ログを残すテーブル名を LOG とすると
たとえばメニューフォームの適当なイベントに
(開く時、閉じる時、どこかのコントロールがFocusを得た時など)
追加クエリを走らせることになると思います。
Application.Currentdb.Execute("INSERT INTO ~~
テーブルは非表示にしておく。
VBA完成の暁には必ず、MDBをMDE化して置くとかでしょうか。
    • good
    • 2
この回答へのお礼

有難う御座います。
Environ("Computername") とEnviron("Username") はクエリを作製してテーブルに書き出す形になるのでしょうか?

お礼日時:2010/11/15 08:08

こんばんは



検証はしていませんが「こういう形なら出来そう」という回答です。
使用開始時に「社員ID&パスワード」でユーザーの特定は出来ます。

・PCの特定は「MACアドレス」を取得する方法があれば可能です
 (多分VBAならば出来きるとは思うのですが、方法は分かりません)
・使用の日時は、各フォームを開いたり閉じたりするときにイベントプロシージャ
 で拾えば記録可能です。
 →イベントプロシージャで「日時」は分かりますが「誰が」という部分が問題となります。
  まず、各フォームに非表示のラベルやテキストボックスを作っておきます。
  フォームを呼び出すためにボタンを作っていると思いますので、そのボタンに
  TxtBoxUser=ユーザー名 (TxtBoxUserが非表示のテキストボックスの名前)
  とすることで、リレーのバトンのようにユーザー名を引き継ぐことが出来ます。


以上、回答はしましたが文書だけでは伝えにくい部分も多々あります。
よく分からない部分があれば遠慮なく聞いてください。
  
    • good
    • 1
この回答へのお礼

有難うございます。
なんとかやってみたいと思います。
が、根本的なことをお聞きしますが、取得したユーザー名等をどうすればテーブルに書き出せるのでしょうか?
クエリとか使用するのでしょうか?
書き忘れましたが、私がACCESSを使い始めてまだ3週間程度の初心者です。
申し訳ありませんが、テーブルに書き出す方法も教えていただけるととても助かります。
宜しくお願い致します。

お礼日時:2010/11/15 08:04

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング