■No52862 (名無し さん) に返信
念のため、
Public cn As OleDb.OleDbConnection = New OleDb.OleDbConnection( _
"Provider = Microsoft.ACE.OLEDB.12.0;" _
& "Data Source ="& MDBNAME &";")
という記述の下で、以下のコードを実行してみてください。
Dim Comp1 As String
Dim Comp2 As String
Comp1 = "Provider = Microsoft.ACE.OLEDB.12.0;" & "Data Source =C:\Documents and Settings\PC001\access.mdb;"
Comp2 = "Provider = Microsoft.ACE.OLEDB.12.0;" & "Data Source ="& MDBNAME &";"
If Comp1 = Comp2 Then
MsgBox "Comp1とComp2は等しいです"
Else
MsgBox "Comp1とComp2は等しくありません"
End If
Comp1とComp2が等しくないのであれば、変数MDBNAMEがComp2の書式と違ってることが原因かと思われます。
ただ、
>MDBNAMEにはaccess.mdbまでのフルパスがきちんと取れているのですが
という記述があるので、これが完全に合っているのであれば、原因がわかりかねるのですが…
今回だと、MDBNAME = "C:\Documents and Settings\PC001\access.mdb" であれば、
関数内にじかに記述した場合と同様なので接続できると思います。
それでダメなら、Iniファイルで使われている文字コードを確認してみたらどうでしょうか。