お世話になります。
早速ですが質問させていただきます。
現在VB6を使って開発しています。
VB6からAccessアプリケーションへの参照を行わず
MDBを最適化する方法はありませんか?
現在はこのように処理を行っていますが、
このプログラムが動作する環境にAccessが入っていない場合は
エラーがでてしまいます。
このプログラムが動作する環境にAccessが入っていないことを前提として作っているのでここでいきづまってしまいました。
どなたかお力を貸して頂けないでしょうか。
'FileSystemObject (FSO) の新しいインスタンスを生成する
Set hFso = CreateObject("Scripting.FileSystemObject")
'ファイル存在チェック
If Dir$(strNewFileName) <> "" Then
'既に同じ名前のファイルがあった場合は削除
Call hFso.DeleteFile(strNewFileName, True)
End If
Set acApp = CreateObject("Access.Application")
'MDB最適化
acApp.DBEngine.CompactDatabase strObjFilePath, strNewFileName
ttp://202.51.11.113/bbs6/0002/das86.html
ここの中ほどを参照・・・
該当マシンにAccessが無くても最適化できます。
以上。
別解として、
http://homepage2.nifty.com/inform/vbdb/dao_compactdb.htm
DAOを参照設定してから、
>acApp.DBEngine.CompactDatabase strObjFilePath, strNewFileName
を、
DBEngine.CompactDatabase strObjFilePath, strNewFileName
にするだけでもいけるんじゃないかと。
おはようございます。
オショウさん、もげさんお返事ありがとうございます!
これからお二人の助言を参考に試してみたいと思います。
解決しました。
お二人に教えていただいたことを、これからの開発につなげていきたいと思います。
本当にありがとうございました。
解決フラグ立てるの忘れてました;;
| ツイート |
|