Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
NDim
Зарегистрирован: 11.01.2002 Сообщения: 44 Откуда: Екатеринбург
|
Добавлено: Чт Янв 24 2002 16:13 Заголовок сообщения: Сжатие базы Access |
|
|
Подскажите как програмно сжать(удалить помеченные для удаления записи) базу Access а то пухнет сильно. В самом Access-е это можно сделать. |
|
Вернуться к началу |
|
|
Pin
Зарегистрирован: 13.01.2002 Сообщения: 32 Откуда: Magnitogorsk
|
Добавлено: Чт Янв 24 2002 17:48 Заголовок сообщения: Re: Сжатие базы Access |
|
|
Например, так: str := 'COMPACT_DB="' + DatabasePath + '"'#0#0; SQLConfigDataSource(0, 4, PChar('Microsoft Access Driver (*.mdb)'), PChar(str));
SQLConfigDataSource располагается в odbccp32.dll. После успешного выполнения этой функции будет создан файл @.mdb, в котором и будет сжатая версия базы. |
|
Вернуться к началу |
|
|
Den
Зарегистрирован: 05.02.2002 Сообщения: 125
|
Добавлено: Пт Янв 25 2002 08:56 Заголовок сообщения: Re: Сжатие базы Access |
|
|
Sub CompactDB()
Const FILE_PATH = "C:\Program Files\Microsoft Office\Office\Samples\"
On Error GoTo ErrorHandler
' Compact the database to a temp file. DBEngine.CompactDatabase FILE_PATH & "Orders.mdb", _ FILE_PATH & "OrdersTemp.mdb"
' Delete the previous backup file if it exists. If Dir (FILE_PATH & "Orders.bak") <> vbBullString Then Kill FILE_PATH & "Orders.bak" End If
' Rename the current database as backup and rename the temp file to ' the original file name. Name FILE_PATH & "Orders.mdb" As FILE_PATH & "Orders.bak" Name FILE_PATH & "OrdersTemp.mdb" As FILE_PATH & "Orders.mdb" MsgBox "Compacting is complete"
Exit Sub
ErrorHandler: Msgbox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description End Sub |
|
Вернуться к началу |
|
|
NDim
Зарегистрирован: 11.01.2002 Сообщения: 44 Откуда: Екатеринбург
|
Добавлено: Пт Янв 25 2002 08:57 Заголовок сообщения: Re: Сжатие базы Access |
|
|
Обьясните пожалуйста поподробнее ! Не хочет работать ... |
|
Вернуться к началу |
|
|
|