Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2008, 21:14   #1
xes
Пользователь
 
Регистрация: 12.05.2008
Сообщений: 12
По умолчанию Обнулить счетчик в Access!

У меня база распухла до 38 метров при том что она практически пуста, необходимо сжать БД.

Код:
procedure TMainForm.ActionCompactAccessDBExec ute(Sender: TObject);
var
JetEngine: Variant;
TempName: string;
aAccess: string;
stAccessDB: string;
SaveCursor: TCursor;
begin
stAccessDB := 'Provider = Microsoft.Jet.OLEDB.4.0;' +
'Data Source = %s;Jet OLEDB: Engine type = ';
stAccessDB := stAccessDB + '5'; {5 for Access 2000 and 4 for Access 97}
OpenDialog1.InitialDir := oSoftConfig.ApplicationPath + 'Data\';
OpenDialog1.Filter := 'MS Access (r) (*.mdb)|*.mdb';
if OpenDialog1.execute and (uppercase(ExtractFileExt
(OpenDialog1.FileName)) = '.MDB') then
begin
if MessageDlg('This process can take several minutes. Please wait till the end ' +
#13 + #10 + 'of it. Do you want to proceed? Press No to exit.', mtInformation,
[mbYes, mbNo], 0) = mrNo then
exit;
SaveCursor := screen.cursor;
screen.cursor := crHourGlass;
aAccess := OpenDialog1.FileName;
TempName := ChangeFileExt(aAccess, '.$$$');
DeleteFile(PChar(TempName));
JetEngine := CreateOleObject('JRO.JetEngine');
try
JetEngine.CompactDatabase(Format(st AccessDB, [aAccess]),
Format(stAccessDB, [TempName]));
DeleteFile(PChar(aAccess));
RenameFile(TempName, aAccess);
finally
JetEngine := Unassigned;
screen.cursor := SaveCursor;
end;
end;
end;

Ругаеться:
Код:
Project Xes.exe raised exception class EOleException with message 'Heвoзмoжнo нaйти ycтaнaвливaeмый ISAM'.
Как исправить ошибку связаную с этим ISAM?

Последний раз редактировалось xes; 14.06.2008 в 22:41.
xes вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Счетчик посещений Рустам PHP 7 21.10.2009 09:38
Счетчик в таблице MS Access Mishina Microsoft Office Access 1 15.06.2008 16:54
счетчик на ПХП! inetexer Помощь студентам 4 08.05.2008 17:18
Нельзя обнулить поле в записи?!! darkstarx Общие вопросы .NET 1 06.02.2008 23:53