AccessVBA 自身のファイルサイズを取得し処理をストップさせる
スポンサーリンク
アクセスのファイル容量が2GBを超えるとファイルが破損してしまいます。
大容量のデータをインポート実行後、或いは大容量のデータ処理を行なった直後など、一時的にファイル容量が大きくなってしまいます。
ファイルを閉じる際に最適化をするにチェックを入れていても、閉じる前に気づかずに他の処理を実行してしまうとファイルが破損するトラブルに見舞われてしまいます。
そこでファイルに負荷がかかりそうな処理の実行前後にファイルサイズを取得して、一定限度の容量を超えた場合、処理を中断して最適化を促すようなメッセージを入れたいと思いました。
以下、VBAの記述
'------------------------------------------------------------------------------------------------
Dim strPath As String Dim fileSize As Long strPath = CurrentProject.FullName fileSize = FileLen(strPath)
'ファイルサイズはバイト単位なので、以下の例ですと1GB If fileSize > 999999999 Then MsgBox "ファイル容量が大きくなっています。一旦ファイルを閉じて再起動してから、再度集計実行してください。"
Exit Sub Else End If
'-----------------------------------------------------------------------------------------------------------------------------
VBAの記述終わり。
※参考サイト
自分自身のMDBファイルサイズを取得 --Access Club 初級者 Forum--