掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ACCESS 2007で保存したMBDが開けない (ID:102667)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> (mbd→accdb) Jet 4.0で問題ないのでしょうか? 《ADO の場合》 Microsoft.JET.OLEDB.4.0 :2007 形式に非対応 Microsoft.ACE.OLEDB.12.0:2007 形式に対応 《DAO の場合》 CreateObject("DAO.DBEngine.36") :2007 形式に非対応 CreateObject("DAO.DBEngine.120") :2007 形式に対応 > Accees2007がインストールされていないと使用できませんよね? 前回の回答で、 >> Office 2007 が無い場合には下記を使う事もできますが、 と書いた通りです。 > ・プロジェクト参照設定を変更 > Microsoft DAO 3.6 → Microsot Office 12.0 Access database… ですます。なお、参照設定なしでレイトバインド動作させる場合、 前者が CreateObject("DAO.DBEngine.36") で、 後者が CreateObject("DAO.DBEngine.120") です。 > ・コード内Provider変更 > Microsoft.JET.OLEDB.4.0 → Microsoft.ACE.OLEDB.12.0 DAO と ADO を併用しているのですね? > ・各コード内の拡張子変更(.mdb→.accdb) 後からエクスプローラー等で拡張子を変更しても、DB の読み書きに支障は無いので 拡張子そのものは、データベースの振る舞いとは直接関係ないと思います。 ただし、Access 2007 での新規作成時においては、指定するファイル名を accdb 拡張子にすると Standard ACE DB(2007 形式)になり、 mdb にした場合は、Standard Jet DB(2000形式 または 2002-2003 形式)です。 mdb のバージョンは、Access のオプション[基本設定]-[データベースの作成]の [既定のファイル形式]の影響を受けます。 > OpenやCompactDatabaseなどで発生していたエラーはなくなりました。 あとは、こういう違いがありますね。 http://support.microsoft.com/kb/224192 >> mdb の ANSI SQL モードを 92 から 89 に変更しておいてください。 これは、Access のオプション[オブジェクト デザイナ]-[クエリ デザイン]の [SQL サーバー互換構文 (ANSI 92)]の欄で設定します。 > Mdbファイルが対象で今回の2007形式(accdbファイル)では考慮しなくても問題ないでしょうか? はい、通常は ANSI 92 を選択してください。 意図的に ANSI 89 が使われるのは、Access 97 互換で処理する場合だけです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.