掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Access2000を操作するプログラムをAccess2007にバージョンアップ時にしなければならないことは? (ID:101097)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
# 解決済みのスレッドを延ばすのも何ですが、もう一つ思い出したので。 JRO の CompactDatabase メソッドを用いて、データベース形式を変換する場合、 両引数のプロバイダは、共に Microsoft.ACE.OLEDB.12.0 を用いる必要があります。 (もっともプログラムで変換するより、Access から手作業で変換した方が安全な気もしますが) たとえば、*.accdb → *.mdb への逆変換はこのようになります。 'Access 2007 形式から Access 2002/2003 形式にバージョンダウン s = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\db1.accdb" d = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\db1.mdb;Jet OLEDB:Engine Type=5;Locale Identifier=0x411;" CreateObject("JRO.JetEngine").CompactDatabase s, d ただし JRO は、Access 2007 形式(Jet OLEDB:Engine Type=6)での出力を サポートしていないようです。たとえば下記はエラーとなります。 s = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\db2.mdb" d = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\db2.accdb;Jet OLEDB:Engine Type=6;Locale Identifier=0x411;" CreateObject("JRO.JetEngine").CompactDatabase s, d 'エラー発生 プログラムからの変換作業が必要な場合は、DAO を利用してください。 こちらの CompactDatabase メソッドであれば、*.mdb → *.accdb も可能です。 'Access 2003 形式から Access 2007 形式にバージョンアップ DBEngine.CompactDatabase "C:\db3.mdb", "C:\db3.accdb", dbLangJapanese, dbVersion120 あるいは、Access の Application.CompactRepair メソッドを使って バージョン変更を行うこともできます。 ConvertAccessProject "C:\db4.mdb","C:\db4.accdb", acFileFormatAccess2007
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.