dポイントプレゼントキャンペーン実施中!

どなたかわかる方教えてください。

プログラムでACCESSの最適化をしようと思います。VB6で使用していたソースをベースに下記のようなプログラムを作ったのですが
途中、エラー(添付ファイル)が発生してしまいました。
どうすれば解決できるでしょうか。よろしくお願いします。


Dim BaseSize As Long
Dim jroJet As New JRO.JetEngine
Dim TempDB As String
Dim MakeUserPath As String

TempDB = Application.StartupPath + "\Database\TMP.accdb" '一時的に領域作成
MakeUserPath = Application.StartupPath + "\Database\Database.accdb"

'データベースの最適化
BaseSize = FileLen(MakeUserPath)
jroJet.CompactDatabase("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & MakeUserPath & ";", _
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & TempDB & ";")

'最適化ファイルを正規データベースにする
If Len(Dir$(MakeUserPath)) > 0 Then
Kill(MakeUserPath)
FileCopy(TempDB, MakeUserPath)
If Len(Dir$(TempDB)) > 0 Then Kill(TempDB)
End If

※添付画像が削除されました。

A 回答 (1件)

Dim TmpDbPath As String = System.IO.Path.GetTempFileName


System.IO.File.Delete(TmpDbPath)
<-MDB最適化処理-->
System.IO.File.Copy(TmpDbPath,MakeUserPath, True)
で駄目でしょうか?

この回答への補足

ご回答ありがとうございます。

アドバイスいただいた内容ですが、どのタイミングで元のソースに追加すればよろしいでしょうか?

初心者なもので理解が悪くてすいませんがよろしくお願いします。

補足日時:2010/11/24 08:56
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!