Как из VB 6.0 заставить *.mdb сжиматься. при закрытии.
Хотелось бы что бы в настройках Access изменилась соответствующий параметр или хотя бы делалось это из клиентской части (VB 6.0).
Руками этого сделать нельзя, много компьютеров и очень удаленных.
Private Sub Command3_Click()
Dim MainName As String, TempName As String
MainName = "D:\db1"
MainName = InputBox("Имя сжимаймой Базы данных", , MainName)
If Dir(MainName & ".ldb") <> "" Then
MsgBox "База данных открыта!"
Else
TempName = MainName & "Temp"
TempName = TempName & ".mdb"
MainName = MainName & ".mdb"
'удаляем возможно существующий временный файл
If Dir(TempName) <> "" Then Kill TempName
'сжимаем базу данных
DBEngine.CompactDatabase MainName, TempName
If Dir(TempName) <> "" Then
Kill MainName
'возвращаем сжатой базе данных первоночальное имя
Name TempName As MainName
Else
MsgBox "Не найдена сжатая база данных"
End If
MsgBox "База данных сжата и востоновлена!"
End If
End Sub
Если кто-то знает как всетаки добиться этого изменив настройки Access - подскажите
Если сжимать через DAO, то через DBEngine.CompactDatabase. Если через ADO, то надо подключать JRE (Jet and Replication Objects) и пользоваться его методами (Compact)