データの更新時(追加時も同様)は、更新日時(保存日時)とともに、そのデータを更新したユーザーも特定しておいた方が、後々の追跡に役立ちます。
このため、基本どのテーブルにも更新日時と最終更新者フィールドを作成しています。
更新日時はnow()関数で取得したシステム日時を格納すればOKですが、
最終更新者はどのように格納すればよいでしょうか?
最終更新者情報を更新する方法
Accessで作成したツールにログイン機能がある場合は、そのログイン情報をセットすればOKですね。
Accessで作成したツールにログイン機能がない場合はWindowsのログイン情報を取得して格納します。
Windowsのログイン情報は環境変数の値が取得できる、Environ()関数を利用して取得します。
Environ()関数でログインユーザー名を取得
Environ()関数の引数に”USERNAME”を渡すことでログインユーザー名を文字列として取得できます。
サンプルでは取得したログインユーザー名をmsgboxで出力しています。
サンプルコード
msgbox Environ(“USERNAME”)
取得したユーザー名をテーブルの最終更新者フィールドにUPDATEして完了です!
簡単!!!
Environ()関数で取得できるその他の環境変数
Environ()関数はログイン情報だけではなく、OS(Windows)の環境変数が取得できます。
取得できる主な環境変数は以下の通りです。
環境変数の名前説明 | 説明 | サンプル |
PATH | PATH環境変数 | C:\Program Files (x86)\Microsoft Office\Office12\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\・・・・ |
OS | オペレーティングシステム | Windows_NT |
HOMEDRIVE | プライマリローカルドライブ | C: |
HOMEPATH | 既定のユーザー用ディレクトリ | \Users\tanaka・・・・ |
USERNAME | ユーザー名 | tanaka |
WINDIR | システムディレクトリ | C:\windows |
共有パソコンを複数人で利用しているにも関わらずログインアカウントは同じものを使っています!と言われると全く対応できません(;^_^A
このような使い方は基本NGなのでログインする人がそれぞれのアカウントを使うようにしてください。
ABOUT ME