DAO3.6でないとAccess2000形式のmdbファイルを認識できないのはなぜですか?

解決


超初心者  2003-07-24 19:01:24  No: 78759

タイトルそのままなのですが、DAO3.6でないとACCESS2000形式のmdbファイルを認識できないのはなぜなのですか?なぜACCESS2000形式は対応していないのでしょうか?理由をご存知の方がいらっしゃいましたら、ぜひ教えてください!お願いします。


とろ  2003-07-24 20:27:18  No: 78760

文章が分かりづらいのですけれども、、
『なぜACCESS2000形式は対応していないのでしょうか』の主語は『 DAO3.6 』ですか?

『 DAO3.6 』は
『ACCESS2000形式のmdbファイル』には対応しているけれども
『ACCESS2000形式』には対応していないのはなぜか、
ということですか?


超初心者  2003-07-24 20:41:51  No: 78761

とろさんお返事ありがとうございます。私が知りたいのは、
ACCESS2000形式のmdbファイルがDAO3.6でないと認識できないのはなぜ?ということなのですが、質問の仕方がうまくないので申し訳ないです。


魔界の仮面弁士  2003-07-24 21:02:46  No: 78762

まず、mdbが利用するデータベースエンジンである
Microsoft Jet ( Joint Engine Technology ) には、
以下のように複数のバージョンがあります。
http://support.microsoft.com/?kbid=141796

上記表には書かれていませんが、他にも Jet 3.52 や
Jet 4.0 などがあります。

そして、Access 2000やAccess 2002で作られたmdbは、
基本的に 4.0 形式となっています。
まずはこの事を覚えておいてください。

さて、ここからが本題です。

一般的には、VBから mdb を扱う場合、
  DAO を利用する
  ADO + Jet用OLE DB Providerを利用する
のいずれかの形式が使われますね。
# 他にも、ODBCでの利用や、Jet APIなどによる利用も
# 考えられますが、話が広がりすぎてしまうので、
# 今回は触れないでおきますね。(^^;

そしてDAOの場合、Jet 4.0形式を扱える最低バージョンは、
『DAO 3.6』となっています。

それより以前のバージョン(DAO 3.51等)では、それ未満の
Jetのバージョン(Jet 3.51以下)の物しか扱えません。
これが、Accesss 2000製のmdbが、DAO 3.6未満で
認識されない理由となります。

ちなみに、ADO(というか、OLE DBプロバイダ)での接続の
場合には、『Microsoft.Jet.OLEDB.4.0』にて、Jet 4.0形式の
mdbを処理できます。しかし、その前の『Microsoft.Jet.OLEDB.3.51』の
場合は、Jet 4.0形式のmdbを扱うことができません。


超初心者  2003-07-24 22:20:34  No: 78763

魔界の仮面弁士さん、勉強になりました。
こんな質問に答えてくださってありがとうございましたm(__)m


超初心者  2003-07-24 22:24:35  No: 78764

解決のチェック忘れてました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加