tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: 自動的にAccess2000形式に変換したい
投稿日: 2012/04/16(Mon) 16:30
投稿者魔界の仮面弁士
> VB6のDAO3.6へ作り直しています。
DAO 3.6 を使う場合、VB6 の SP5 以上が必要となります。もっとも、
相手が Win7 である以上は SP6 を使うことになるでしょうけれども。

また当然、実行環境にも DAO 3.6 が必要となります。(Access は無くても良い)

なお、Access 固有の機能(標準モジュールやフォームなど)を使っていた場合、
それらの部分はコンバートされませんので、変換後のファイルを
Access で開いた場合、バージョン違いだと誤解されて、
追加の変換処理が要求されることがあります。


> mdbを自動的にAccess2000形式に変換したいのです。
DAO や JRO の場合は、「CompactDatabase メソッド」を使います。
たとえば下記のようなコードです。

Const dbLangJapanese = ";LANGID=0x0411;CP=932;COUNTRY=0"
Const dbVersion40 = 64
CreateObject("DAO.DBEngine.36").CompactDatabase oldMdbPath, newMdbPath, dbLangJapanese, dbVersion30

上記の他、レイトバインドせずに参照設定で使う方法もあります。


パスワード付mdbなどでは追加の記述が必要になりますが、
検索すれば具体的なサンプルも見つかるかと思いますので、
Access VBA のヘルプやここの過去ログ等にて、
「CompactDatabase」というキーワードを検索してみてください。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。