●概要●
Accessデータベースに接続しているユーザー名を取得できれば、DB更新のために特定のユーザーだけに切断要求を出したり、接続が正常に行えたかを知ることができます。以下のサンプルでは、特定のDB(c:\Northwind.mdb)に対しての接続ユーザーを取得し、イミディエイトウィンドウに出力します。アクションクエリに相当する動作を、コード中のSQL文で実行します。
●サンプル●
Sub ShowConnectUserInfo()
Dim objCon As New ADODB.Connection ' コネクション
Dim objRec As New ADODB.Recordset ' レコードセット
' コネクションのオープン
objCon.Open _
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\Northwind.mdb"
' スキーマの参照
Set objRec = objCon.OpenSchema(adSchemaProviderSpecific, _
, _
"{947bb102-5d43-11d1-bdbf-00c04fb92675}")
' DBに接続中のユーザーリストの取得
With objRec
While Not .EOF
Debug.Print "[" & .Fields(0).Name & ":" & .Fields(0) & "]" & _
"[" & .Fields(1).Name & ":" & .Fields(1) & "]" & _
"[" & .Fields(2).Name & ":" & .Fields(2) & "]" & _
"[" & .Fields(3).Name & ":" & .Fields(3) & "]"
.MoveNext
Wend
End With
' 接続を閉じる
objRec.Close
Set objRec = Nothing
objCon.Close
End Sub
●補足●
このサンプルを動作させるには、事前に[ツール]-[参照設定]より「Microsoft ActiveX Data Object 2.5 Library」を組み込む必要があります。