AccessDBのコネクション取得
Option Compare Database
Option Explicit
' ACC_AccessDBConnection
' AccessのDBのコネクションを簡易で取得する
' 実行環境にはADODBの参照設定が必要です
Private CAFObj As ACC_CheckAccessFile
Private ProviderStr_MDB As String
Private ProviderStr_ACCDB As String
Private Sub class_initialize()
Set CAFObj = New ACC_CheckAccessFile
ProviderStr_MDB = "Microsoft Jet OLEDB.4.0"
ProviderStr_ACCDB = "Microsoft.ACE.OLEDB.12.0"
End Sub
' GetDBConnection
' DB接続を行い、Connectionオブジェクトを取得する
' 引数:あり
' iFilePath :String :ファイル(含ファイルまでのフルパス)
' 戻り値:あり
' ADODB.Connection :Accessのプロバイダ名
Public Function GetDBConnection(ByVal iFilePath As String) As ADODB.Connection
Dim dbCon As ADODB.Connection
Set dbCon = New ADODB.Connection
dbCon.ConnectionString = "provider=" & _
GetConnectProviderString(iFilePath) & _
";" & _
"Data Source=" & _
iFilePath
dbCon.Open
Set GetDBConnection = dbCon
End Function
' GetConnectProviderString
' DB接続のConnectionStringプロパティに設定するAccessのプロバイダ名を取得する
' 引数:あり
' iFilePath :String :ファイル(含ファイルまでのフルパス)
' 戻り値:あり
' String :Accessのプロバイダ名
Private Function GetConnectProviderString(ByVal iFilePath As String) As String
Dim resultStr As String
Dim acFilePattern As Long
acFilePattern = CAFObj.GetAccessFilePattern(iFilePath)
If acFilePattern > 10 Then
resultStr = ProviderStr_ACCDB
ElseIf acFilePattern > 0 Then
resultStr = ProviderStr_MDB
Else
resultStr = ""
End If
GetConnectProviderString = resultStr
End Function
最終更新:2013年06月09日 00:42