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

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

Access сжатие???? [D5, Access]


SKX ©   (2003-06-16 09:05:00) 

Доброго вам время суток!
Привет Мастерам!
Как программно достучатся до сжатие базы в Сервисе ?????????????
очень надо!!!!


savva   (2003-06-17 16:05:00) [1]

> SKX © (16.06.03 15:42)
> Savva спасибо за ссылку!!!
всего лишь за ссылку?:)) а за функции?:))))


SKX   (2003-06-16 15:42:00) [2]

Savva спасибо за ссылку!!!


SKX   (2003-06-16 15:38:00) [3]

Спасибо Всем за участие!!!
Давно искал...
Еще не паробовал, но думаю добью....

Счастливого Всем программирования!!!


savva   (2003-06-16 14:36:00) [4]

> handra © (16.06.03 13:18)
вместо кода - дал бы лучше ссылку - может человек еще что найдет нужного...
http://delphibase.endimus.com/?action=viewfunc&topic=baseaccess&id=10165

http://delphibase.endimus.com/?action=viewfunc&topic=baseaccess&id=10303


handra   (2003-06-16 13:18:00) [5]

procedure CompactAccessDatabase(DatabaseName,Password:String);
Var
TempName : Array[0..MAX_PATH] of Char; // имя временного файла
TempPath : String; // путь
Name : String;
tmpDAO : OleVariant;
begin
try // получим ClassID
try
tmpDAO := CreateOleObject("DAO.DBEngine.36");
except
try
tmpDAO := CreateOleObject("DAO.DBEngine.35");
except
raise; // что то нам неизвестное
end;
end;
// получаем путь для временного файла
TempPath:=ExtractFilePath(DatabaseName);
if TempPath="" Then TempPath:=GetCurrentDir;
//получаем имя временного файла
GetTempFileName(PChar(TempPath),"mdb",0,TempName);
Name:=StrPas(TempName);
DeleteFile(PChar(Name));// этого файла не должно существовать :))
if Password <> "" Then Password:=";pwd="+Password;
tmpDAO.CompactDatabase(DatabaseName,Name,0,0,Password);
DeleteFile(PChar(DatabaseName)); // удаляем не упакованную базу
RenameFile(Name,DatabaseName); // переименовываем упакованную базу
finally
tmpDAO := NULL;
end;
end;


sniknik   (2003-06-16 11:07:00) [6]

сжатие в сервисе не должно отличатся от использования в программе (теоретически). делай также.


Kuusiniemi   (2003-06-16 11:05:00) [7]

JRO Вам поможет.


Наверх

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