簡易的なアクセスログの元情報を取得するためのメモ。
ブログのサンプルコードやmsdn等を参考にさせていただいた。
Accessで、管理DBを作る必要があるのだが、アクセスログや変更ログをとる仕組みがまったく思いつかない(Accessをそもそも使ったことがあまりない)ので、とても勉強になりました。
・Environ("COMPUTERNAME")、Environ("USERNAME")で、アクセス元のコンピュータ名
・GetIPAddress でアクセス元のIPアドレス
を取得する。
Private Sub コマンド0_Click()
Debug.Print Environ("COMPUTERNAME")
Debug.Print Environ("USERNAME")
Debug.Print GetIPAddressEnd Sub
Function GetIPAddress() As String
Dim NetAdapters, objNic, strIPAddress
Set NetAdapters = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") _
.ExecQuery("Select * from Win32_NetworkAdapterConfiguration " & _
"Where (IPEnabled = TRUE)")For Each objNic In NetAdapters ‘ネットワークアダプターは、複数ある場合がある
For Each strIPAddress In objNic.IPAddress ‘IPは、複数割り当てられている場合がある
GetIPAddress = strIPAddress
Exit For ‘ 1回のみ
Next
Exit For ‘ 1回のみ
NextEnd Function
コメント