Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: CL | DM;

Вниз

Упаковка Access базы из программы   Найти похожие ветки 

 
diabolik_krsk   (2004-10-27 09:25) [0]

Доброго времени суток уважаемые мастера.
Вопрос такой:

Как в программе через событие Button1.OnClick реализовать сжатие базы данных Access, как это происходит через сам Access через меню Сервис->Служебные программы->Сжать и восстановить базу данных?

Заранее благодарен.


 
Kuusiniemi   (2004-10-27 09:36) [1]

Поиск рулит.
Постоянно спрашивают ведь!


 
diabolik_krsk   (2004-10-27 10:50) [2]


> Kuusiniemi   (27.10.04 09:36) [1]
> Поиск рулит.
> Постоянно спрашивают ведь!


Спрашивать спрашивают, а найти проблематично. Час лазил по поиску - не нашел.


 
REP ©   (2004-10-27 10:53) [3]

Может поможет?


 
REP ©   (2004-10-27 10:53) [4]

Забыл:
http://delphi.about.com/library/weekly/aa091801a.htm


 
Erik1 ©   (2004-10-27 11:00) [5]

{ Microsoft DAO 3.6 Object Library }
{ The Microsoft Jet database engine. }

_DBEngine = interface(_DAO)
 ["{00000021-0000-0010-8000-00AA006D2EA4}"]
procedure CompactDatabase(const SrcName, DstName: WideString; DstLocale, Options, SrcLocale: OleVariant); safecall;
   procedure RepairDatabase(const Name: WideString); safecall;
Ну что еще нужно для счастья, почему все время дают сылки на кикието идеотские примеры?!


 
REP ©   (2004-10-27 11:03) [6]

Erik1 ©   (27.10.04 11:00) [5]
Ну человек искал больше часа.
Я поискал одну минуту.


 
diabolik_krsk   (2004-10-29 09:18) [7]


> Erik1 ©   (27.10.04 11:00) [5]


> Ну что еще нужно для счастья, почему все время дают сылки
> на кикието идеотские примеры?!


А чем плох тогда Microsoft Jet and Replication Objects 2.x Library (Version 2.5)/ библиотека msjro.dll/ Вроде смысл тот же. Только там JRO, а у тебя DAO??

В чем разница?


 
Vit@ly ©   (2004-10-29 10:35) [8]

Попробуй
uses
 ComObj;

function CompactAndRepair(DB: string): Boolean; {DB = Path to Access Database}
var  
 v: OLEvariant;
begin
 Result := True;
 try
   v := CreateOLEObject("JRO.JetEngine");
   try
     V.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+DB,
                       "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+DB+"x;Jet OLEDB:Engine Type=5");
     DeleteFile(DB);
     RenameFile(DB+"x",DB);
   finally
     V := Unassigned;
   end;
 except
   Result := False;
 end;
end;


 
diabolik_krsk   (2004-11-02 04:56) [9]

ИМХО кажется ошибочка в коде

> Vit@ly ©   (29.10.04 10:35) [8]
> V := Unassigned;

Должно быть V.Unassigned;

Поправьте если я не прав.


 
sniknik ©   (2004-11-02 08:16) [10]

неправ, должно быть именно так как было.


 
diabolik_krsk   (2004-11-03 08:02) [11]

Прошу прощения. Параметр Unassigned относится к юниту Variants, который в свою очередь не был прописан в Uses моей формы. Теперь все заработало. Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
4-1097332989
#Мастер#
2004-10-09 18:43
2004.11.28
Мониторинг системы


1-1100229943
vovchik
2004-11-12 06:25
2004.11.28
Расширение *.cmp


4-1097254182
Artin
2004-10-08 20:49
2004.11.28
Delphi: Чтения бит с CD диска


10-1066225536
Guest
2003-10-15 17:45
2004.11.28
Нужна ли ССМ?


1-1100433847
Tiler
2004-11-14 15:04
2004.11.28
CheckListBox разный шрифт для записей