| Access Tips by pPoy |
| Module | 外部 mdb を最適化する方法 《CompactRepair》 (Access2002) | ||
|---|---|---|---|
|
Access 2000 からは、終了時のオプションで自分自身を最適化できます。 但し、コードの中で外部 mdb を使用している場合、それも同時に最適化する必要があります。 これは、自分以外の、外部 mdb を最適化&修復する方法です。 但し、外部 mdb がデータベースパスワードで保護されている場合は、パスワードを聞いてきます。 その場合はこちらをご利用ください。 以下の VBA を標準モジュールに貼り付けてください。 プロシージャは2個あります。 | |||
Sub DoRepair()
' 通常の Ac2002 の mdb最適化呼び出し用 2003/01/03 pPoy
Dim strSource As String
Dim strDestination As String
strSource = "c:\最適化したい.mdb" ' フルパス
strDestination = "c:\コピー用仮.mdb" ' フルパス
If Dir(strDestination) <> "" Then Kill strDestination
If RepairDb(strSource, strDestination) = True Then
Kill strSource
FileCopy strDestination, strSource
Kill strDestination
MsgBox "最適化終了!", vbOKOnly
Else
MsgBox "最適化失敗・・・", vbOKOnly
End If
End Sub | |||
Function RepairDb(strSource As String, _
strDestination As String) As Boolean
' 通常の Ac2002 の mdbを最適化する関数 2003/01/03 pPoy
On Error GoTo error_handler
' mdbを最適化して修復
RepairDb = _
Application.CompactRepair( _
LogFile:=True, _
SourceFile:=strSource, _
DestinationFile:=strDestination)
RepairDb = True
' エラートラップをリセットして終了
On Error GoTo 0
Exit Function
error_handler:
RepairDb = False
End Function
| |||
|
イミディエィトウィンドウで、呼び出し用のプロシージャを実行してください。 例: DoRepair | |||
≪注意≫
| |||
☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
form mail はこちら
Copyright(C) pPoy 2003