|
|
|
Forum Guru
      
участник
Last Login: 30.05.2002 13:21
Сообщ.: 61,
Visits: 672
|
|
| плз подсажите решение: после выполнения каждой процедуры модуля, файл с базой данных разрастается до невероятных размеров, что критично тк комп слабенький, и приходится сжимать его вручную, хотя я использую в конце процедур close и set nothing для всех обектов и перменных ктр я использую
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.07.2000 8:57
Сообщ.: 194,
Visits: 2 157
|
|
| Используй ADO, там есть специальный метод для сжатия БД, работает очень хорошо, но я сейчас не помню точно который. Если не найдешь ответь мне, я посмотрю.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 12.11.2007 17:38
Сообщ.: 1 252,
Visits: 13 544
|
|
ADO или DAO?
db.CompactDatabase - это из DAO
|
|
|
|
|
Supreme Being
      
участник
Last Login: 07.03.2008 19:04
Сообщ.: 328,
Visits: 1 857
|
|
В форме которая закрывает приложение (Access97) в конце процедуры Form_Unload я прописываю
If Not Cancel Then
SendKeys "%{F1}", True
SendKeys "^o" & NamComp & "{Enter}"
End If
где NamComp - полный путь на другую БД, в которой имеется единственная форма (без никаких Control-ов) с обработчиком события Form_Open, в котором сжимаете Вашу базу (CompactDatabase) и закрываете текущую.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.07.2000 8:57
Сообщ.: 194,
Visits: 2 157
|
|
DatabaseName = "db1.mdb"
''Закрыть БД
Db.Close
Screen.MousePointer = vbHourglass
''Сжать БД
DBEngine.CompactDatabase App.Path & "\" & CommonDatabaseName, App.Path & "\" & CommonDatabaseName & "_"
''Удалить старый файл и переименовать новый
Kill App.Path & "\" & DatabaseName
Name App.Path & "\" & DatabaseName & "_" As App.Path & "\" & DatabaseName
Screen.MousePointer = vbDefault
|
|
|
|