Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сжатие базы Access [D5, Access]


Страницы:   1 2

yozhik ©   (2002-05-30 15:16:00) 

Подскажите плз, как можно сжать базу Access, другими средствами(программами и т.д.) кроме встроенного в Access


Kuusiniemi   (2002-05-30 15:37:00) [21]

Uses JRO_TLB;

Procedure Compact(sDBFileName: AnsiString);
var
AnEngine: IJetEngine;
sTempFileName,
sSourceConn, sDestConn: AnsiString;
ABuffer: array[0..1023] of Char;
begin
// Исходный файл sSourceConn := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sDBFileName + ";";
// Временный файл
SetString(sTempFileName, ABuffer, GetTempPath(SizeOf(ABuffer), ABuffer));
sTempFileName := sTempFileName + "temp.mdb";
DeleteFile(sTempFileName);
sDestConn := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sTempFileName + ";";
// Сжимаем
AnEngine := CoJetEngine.Create;
AnEngine.CompactDatabase(sSourceConn, sDestConn);
// Перемещаем временный файл на место исходного
DeleteFile(sDBFileName);
MoveFile(PChar(sTempFileName), PChar(sDBFileName));
DeleteFile(sTempFileName);
end;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо