|
DAOを使用して、ODBCデータソースに接続しようとしているのですが、OSとアクセスのバージョンによってうまくいきません。
(最初)
Set Ws = DBEngine.CreateWorkspace("ORADB", "", "", dbUseODBC)
Set Db = Ws.OpenDatabase("", False, False, "ODBC; Driver={ORACLE ODBC Driver}; DSN=TEST; ")
1.Windows2000 Access2000 でOK
2.WindowsXP Access2003 でNG
だったので、色々やってみた結果、引数の順番を変える(DSNの指定とDriverの指定)と2.でもうまくいきました。
'ACCESS のバージョンにより、引数の順序を変える
If SysCmd(acSysCmdAccessVer) <> "9.0" Then 'Access2003
Set Db = Ws.OpenDatabase("", False, False, "ODBC; TEST; Driver={ORACLE ODBC Driver};")
Else 'Access2000
Set Db = Ws.OpenDatabase("", False, False, "ODBC; Driver={ORACLE ODBC Driver}; DSN=TEST; ")
End If
1.Windows2000 Access2000 でOK
2.WindowsXP Access2003 でOK
ところが、
3.WindowsXP Access2000 でNGとなりました。
Elseの構文で書いた接続方法ではNG、Ifの構文で書いた接続方法ではOKでした。。
色々調べてみたいのですが、行き詰まってしまい、何かご意見いただけるかと思いまして、投稿した次第です。
何故、引数の記述順を変えたらうまくいくのかも、正直わかってなく、
たまたま変えてみたらうまく動いたといった状況です。
以上、よろしくお願いいたします。
|
|