|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.01.2009, 12:09 | #1 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 84
|
обнуление счетчика в бд
скажите как все же можно обнулить счетчик в базе ..
я тут прописала : procedure TForm1.CompactAccessDatabase(Databa seName,Password:string); // сжатие базы данных Access const V35='DAO.DBEngine.35'; V36='DAO.DBEngine.36'; var TempName:array[0..MAX_PATH] of Char; // имя временного файла TempPath:string; // путь Name:string; tmpDAO:_DBEngine;//ругается на тип данных ClassID:TGUID; begin // получим ClassID try try ClassID:=ProgIDToClassID(v35); except try ClassID:=ProgIDToClassID(v36); except raise; // что-то неизвестное end; end; // получаем путь для временного файла TempPath:=ExtractFilePath(DatabaseN ame); if TempPath='' then TempPath:=GetCurrentDir; //получаем имя временного файла GetTempFileName(PChar(TempPath),'md b',0,TempName); Name:=StrPas(TempName); DeleteFile(PChar(Name)); // этого файла не должно существовать if Password<>'' then Password:=';pwd='+Password; tmpDAO:=CreateComObject(ClassID) as _DBEngine; tmpDAO.CompactDatabase(DatabaseName ,Name,0,0,Password); DeleteFile(PChar(DatabaseName)); // удаляем не упакованную базу RenameFile(Name,DatabaseName); // переименовываем упакованную базу except // выдаем сообщение об исключительной ситуации on E: Exception do ShowMessage('Ошибка сжатия базы данных'#10#13+e.message); end; end; и в обработчике: ADOConnection1.Close; CompactAccessDatabase('Zalob.mdb',' '); MessageDlg('Сжатие завершено. Перезапустите программу',mtInformation,[mbOk],0); Application.Terminate; но у меня ругается еще в разделе var описания переменных процедуры: tmpDAO:_DBEngine; может нужно библиотеку какуюто еще подключить |
15.01.2009, 09:38 | #2 |
Участник клуба
Регистрация: 11.01.2009
Сообщений: 1,917
|
От сюда взяли ? :http://www.delphisources.ru/pages/fa...access_db.html
Там вверху в коментариях посмотри зависимости : windows, SysUtils, Dialogs, DAO2000, ComObj ... и еще для работы с MS Access через ADO в самом компиляторе нужно поставить библиотеку : Project -> Import Type Library ... выбрать в списке Microsoft Jet and Replication Objects .... и нажать Install... P.S. переходите на Absolute Database или Accuracer ... и после этого про mdb будешь вспоминать с улыбкой ...
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Последний раз редактировалось Kotofff; 15.01.2009 в 09:40. |
22.01.2009, 23:10 | #3 |
Регистрация: 22.01.2009
Сообщений: 8
|
ADO это медленно и печально..
Для маленьких проектов Firebird тоже ниче + он бесплатный.. Первая версия дружит с Дельфи через IBX змечательно.. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обнуление катриджа. | Xeon332 | Компьютерное железо | 2 | 11.05.2009 07:37 |
Обнуление переменной | [MI_nor] | Общие вопросы C/C++ | 3 | 05.11.2008 18:01 |
Эмуляция счетчика | tolikman | Microsoft Office Access | 3 | 24.10.2008 11:13 |
Сброс счетчика | vldand | Microsoft Office Access | 1 | 20.10.2008 18:40 |
Эмуляция механического счетчика | Paul Hindenburg | Общие вопросы Delphi | 2 | 20.08.2007 00:20 |