Bình thường,khi mà các câu lệnh Make, Append, delete thực hiện nhiều lần thì file access của bạn sẽ phình to không tưởng tượng được, có khi lên tới hàng GB, để nén access ta vào menu tool-->database Ulities-->Compact and repair Database
Nhưng đôi khi chúng ta cần thực hiện điều đó bằng VBA vì đã khóa Menu, thay bằng customise menu, hoặc với mục đích thân thiện với người dùng chỉ trên một nút nhấn.
hãy copy đoạn code sau của tác giả Juan M. Afan de Ribera để làm điều đó
Code:
' ***** Code Start ***** Public Sub CompactDB() CommandBars("Menu Bar"). _ Controls("Tools"). _ Controls("Database utilities"). _ Controls("Compact and repair database..."). _ accDoDefaultAction End Sub ' ***** Code End *****
Cách khác:
Trả lờiXóaVào Project / References và chọn Microsoft Access 10.0 Object Library.
Thêm đoạn code sau vào Form:
Private Sub Form_Unload(Cancel As Integer)
'Nén CSDL tên MyData.mdb và tạo 1 CSDL mới tên DB2.mdb
DBEngine.CompactDatabase App.Path & "MyData.mdb", App.Path & "DB2.mdb"
'Xóa MyData.mdb
Kill "MyData.mdb"
'Đổi tên DB2.mdb thành MyData.mdb
Dim OldName
Dim NewName
OldName = "DB2.mdb": NewName = "MyData.mdb"
Name OldName As NewName
End Sub