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

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

Подскажите кто моооооооооожет сжать ч-з ADO базу ACCESS [D5, Access]


gs ©   (2003-10-11 19:31:00) 

Подскажите кто моооооооооожет сжать ч-з ADO базу ACCESS заранее большущее спасибо!


nv-vetal   (2003-10-11 21:43:00) [1]

кстати, через je.CompactDatabase можна задать пароль на базу данных...


sniknik   (2003-10-11 20:07:00) [2]

Архиватор не подойдет? :о)

кстати ADO сжимать не может, может DAO или JRO (пример), именно они работают непосредственно работают с базой Access.
переделай под себя
function TDMod.PackAccess(BaseName: string): boolean;
var je: Variant;
sPath: string;
begin
result:= false;
if Copy(UpperCase(BaseName), Length(BaseName)-3, 4) <> ".MDB" then BaseName:= BaseName + ".MDB";
if Pos(":\",BaseName) = 0 then BaseName:= GetCurrentDir+"\"+BaseName;
sPath:= ExtractFilePath(BaseName);
try
try
ADOConnection1.Close;
ADOConnection2.Close;
je:=CreateOleObject("JRO.JetEngine");
je.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source="+BaseName+";",
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source="+sPath+"NewBase$$$.Mdb;"+
"Jet OLEDB:Encrypt Database=True");
DeleteFile(BaseName);
RenameFile(sPath+"NewBase$$$.Mdb", BaseName);
result:= true;
except
on E: Exception do DoIfError(E.Message);
end;
finally
je:= Null;
end;
end;


Наверх

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