掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ACCESS 2007で保存したMBDが開けない (ID:102664)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>> Microsoft.ACE.OLEDB.12.0 で接続したうえで、 > とありますが、どのような設定で確認すればよいのでしょうか。 Connection に指定する Provider を変更するだけです。 細かい違いはありますが、基本的には Microsoft.JET.OLEDB.3.51 Microsoft.JET.OLEDB.4.0 Microsoft.ACE.OLEDB.12.0 のそれぞれのプロバイダで同じように使えるはずです。 なお、Microsoft.ACE.OLEDB.12.0 は Access 2007 や 2010 を インストールしてある環境で使用可能です。 Office 2007 が無い場合には下記を使う事もできますが、 今回は 2007 をお持ちでしたよね。 http://www.microsoft.com/downloads/details.aspx?FamilyID=7554f536-8c28-4598-9b72-ef94e038c891&displayLang=ja > Accessは「Access 2002-2003 形式」で保存しています。 せめて 2000 形式にしておいた方が良いでしょう。また、変換する際には mdb の ANSI SQL モードを 92 から 89 に変更しておいてください。 > プロバイダーは「Microsoft.JET.OLEDB.3.51」を使用しています。 Jet 3.5x は、2000 以降の形式に対応していません。 可能であれば、Jet 4.0 への置き換えを検討してみてください。 Microsoft.JET.OLEDB.3.51 は mdb の最適化機能も有していませんし、 今となっては、あまりお勧めできるものではありません。 《ADO の場合》 Microsoft.JET.OLEDB.3.51 :2002 形式には非対応 Microsoft.JET.OLEDB.4.0 :2002 形式にも対応 Microsoft.ACE.OLEDB.12.0 :2002 形式にも対応 《DAO の場合》 CreateObject("DAO.DBEngine.35") :2002 形式には非対応 CreateObject("DAO.DBEngine.36") :2002 形式にも対応 CreateObject("DAO.DBEngine.120") :2002 形式にも対応 > ACCEESS2007で97形式の保存はできないのですね。 Access 97 への変換機能を有するのは、2003 までですね。 http://www.accessclub.jp/actips/tips_19.htm ある程度安定して変換できるのは、 Access 2007 で「Access 2000 形式」で保存してから、 Access 2000 で「Access 97 形式」に保存する事でしょうか。 なお、プログラムで 97 形式へのバージョンダウン変換を行う場合には、 下記のように記述する事ができます。 ただし、「上位バージョンでしか使えない機能」を含んだ mdb だと、 正常に変換することができないため、バージョンアップの変換に比べると うまくいかないことも多いですけれども。 CreateObject("JRO.JetEngine").CompactDatabase _ "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data Source=C:\db1_2000.mdb;" _ & "Jet OLEDB:Engine Type=5;" _ & "Locale Identifier=0x411;" _ , "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data Source=C:\db1_97.mdb;" _ & "Jet OLEDB:Engine Type=4;" _ & "Locale Identifier=0x411;"
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.