VB4でACCESS2000に接続するには?

解決


エムエム  2003-08-18 19:26:17  No: 79055  IP: [192.*.*.*]

VB4でACCESS2000に接続するにはどうすればいいのでしょうか?「データベースDLLからエラーが返されました」とメッセージが出て接続できません。

編集 削除
魔界の仮面弁士  2003-08-18 20:59:24  No: 79056  IP: [192.*.*.*]

16bit版のVB4という意味ならば、VC++等でサンクDLLを作らないと無理ですね。

32bit版の場合は、
    RDO 1.0以上 + MS Accesss Database Driver 4.0以上
もしくは、
    DAO 3.6
もしくは、
    ADO 2.0以上 + OLEDB Provider for Microsoft JET Version 4.0
のいずれかの選択肢となるでしょう。


RDO:
  ・VB4で標準サポートされているミドルウェアです。
  ・Enterprise Editionでなければ利用できません。
  ・Accesss 2000形式のmdbに対応したODBCドライバが、別途必要です。

DAO:
  ・VB4に付属のバージョンでは、Access 2000形式に対応できません。
  ・Access 2000形式(JET 4.0形式)を扱うには、DAO 3.6を入手する必要があります。

OLEDB Provider for Microsoft JET:
  ・プロバイダバージョン4.0が必要です。3.51では対応できません。
  ・一般的には、ADO 2.0以上と併用して使う事になるでしょう。
    (ADO 1.xと併用した事は無いので、1.x系で動くかはわかりません)


http://www.microsoft.com/japan/msdn/data/default.asp
http://support.microsoft.com/default.aspx?scid=kb;ja;JP239114

編集 削除
エムエム  2003-08-19 08:18:49  No: 79057  IP: [192.*.*.*]

ありがとうがございます。32BIT版でDAO3.6なのですが前に書いたようなエラーがでます。ほかに原因があるのでしょうか?

編集 削除
魔界の仮面弁士  2003-08-19 12:53:32  No: 79058  IP: [192.*.*.*]

という事は、DAO 3.6が正しくセットアップされていないのかも知れませんね。
DLLの構成に問題がある場合などに、そのようなエラーが出る事があります。

DAO 3.5xの場合は、正常にインストールされているかを、
下記の資料などで確認できますが…DAO 3.6に関しては、
同種の資料が無いみたいですね。
http://support.microsoft.com/default.aspx?scid=kb;JA;240377


とりあえず、下記の点を確認してみてください。

・DCOM がセットアップされているか?
 → (Win98などの)比較的古いOSでは、別途、
   DCOMのインストールが必要になる事があるようです。

・DAOを再インストールしてみた場合はどうなるか?
 → Jet 4.0 コンポーネントのインストール方法は、下記を参照してください。
 http://support.microsoft.com/default.aspx?scid=kb;JA;271908

・JET の最新のService Packを適用してみた場合は?
 → JET 4.0 の最新は、Service Pack 7 です。
   http://support.microsoft.com/default.aspx?scid=kb;ja;282010

・実行時バインドでの接続は可能ですか?
 → 手元に VB4 がないので確認できませんが、おそらく、
   下記のようなコードを記述すれば、参照設定無しで
   DAO 3.6 を利用できると思います。

Set DE = CreateObject("DAO.DBEngine.36")
Set WS = DE.CreateWorkspace("#Default Workspace#", "Admin", "", "")
Set DB = WS.OpenDatabase("C:\AC2K.mdb")

編集 削除
だい  URL  2003-08-19 16:26:58  No: 79059  IP: [192.*.*.*]

VB4環境を持っていませんので情報だけです。

http://support.microsoft.com/default.aspx?scid=kb;ja;414163
曰く、
DAO 3.6 Object Library または Jet 4.0 OLE DB Provider は 
Visual Studio 6.0 Service Pack 3 以降に含まれています。
よって、Visual Basic 5.0 以下のバージョンでは動作保証しません。
データベース形式を旧バージョンに変換してご使用いただくか、
バージョン 4.0 以降の ODBC Desktop Driver を使用してください。

とあります。
ODBC経由で試してみては如何でしょう?

編集 削除
エムエム  2003-08-19 18:41:06  No: 79060  IP: [192.*.*.*]

詳しく説明していただきお二人様ありがとうございます!感謝です!
上記どうり試してみます。

編集 削除
エムエム  2003-08-21 13:52:55  No: 79061  IP: [192.*.*.*]

接続できました。ありがとうございました。本当に助かりました。

編集 削除