即効テクニック |
●概要● 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」を組み込む必要があります。