{ **** UBPFD *********** by delphibase.endimus.com ****
>> Программное сжатие базы данных Access используя JRO (Jet Replication Objects)

Процедура позволяет сжать базу данных в формате Access,
используя JRO (Jet Replication Objects). Действие аналогичное
пункту меню в Access “Сервис -> Служебные программы ->
Сжать и восстановить базу данных”.
Параметры:
* DatabaseName - путь к исходной (не сжатой) базе данных
* DestDatabaseName - путь к сжатой базе данных
(по умолчанию пустой - в этом случае исходная база заменяется сжатой)
* Password - пароль базы данных (по умолчанию пустой)
Читать полностью…

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Программное сжатие базы данных Access используя DAO

Процедура позволяет сжать базу данных в формате Access, используя DAO.
Действие аналогичное пункту меню в Access “Сервис -> Служебные программы ->
Сжать и восстановить базу данных”.
Параметры:
* DatabaseName - путь к базе данных
* Password - пароль базы данных

Зависимости: windows,SysUtils,Dialogs,DAO2000,ComObj
(Dialogs можно исключить используя MessageBox для вывода
сообщения исключительной ситуации)
Автор: savva, savva@nm.ru, ICQ:126578975, Орел
Copyright: Сапронов Алексей (Savva)
Дата: 31 мая 2002 г.
***************************************************** }

//перед вызовом процедуры базу надо закрыть, а после - открыть

procedure TData.CompactAccessDatabase(DatabaseName, Password: string);
var
TempName: array[0..MAX_PATH] of Char; // имя временного файла
TempPath: string; // путь
Name: string;
tmpDAO: _DBEngine;
ClassID: TGUID;
V35, V36: string; // версия DAO
begin
V35 := ‘DAO.DBEngine.35′;
V36 := ‘DAO.DBEngine.36′;
try // получим ClassID
try
ClassID := ProgIDToClassID(v35);
except
try
ClassID := ProgIDToClassID(v36);
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 := CreateComObject(ClassID) as _DBEngine;
tmpDAO.CompactDatabase(DatabaseName, Name, 0, 0, Password);
DeleteFile(PChar(DatabaseName)); // удаляем не упакованную базу
RenameFile(Name, DatabaseName); // переименовываем упакованную базу
except
// выдаем сообщение об исключительной ситуации
on E: Exception do
ShowMessage(e.message);
end;
еnd;
Пример использования:


db.Close;
CompactAccessDatabase(’database.mdb’, ‘password’);
db.open;

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Программное создание базы данных Access (DAO DBEngine)

Функция создания файла базы данных Access.

PS. кто будет использовать - в комментариях отметьте версии ОС, Access,Delphi.
Читать полностью…

Автор: de1phi | в 10:22 | Рубрики: Базы данных

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Создание ODBC драйвера для MSAccess

Функция создает ODBC драйвер для MSAccess.
В функцию передается имя файла и имя для драйвера.
В конкретной редакции драйвер создается в разделе “System DSN”.

Зависимости: Windows, SysUtils, Dialogs, Variants;
Автор: Konstantin Einstein
Copyright: Konstantin Einstein
Дата: 9 декабря 2002 г.
***************************************************** }
Читать полностью…

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Программное создание таблиц/ключей(первичных и вторичных) для бд Access

В принципе данный пример описан на сайте http://www.olap.ru/desc/microsoft/borland_ado.asp ,за
исключением создания ключей. Там же можно прочитать , о том как включить ссылку на библиотеку
типов ADOX(Для этого следует выбрать Project | Import Type Library главного меню среды
разработки Delphi, а затем из списка доступных библиотек типов выбрать Microsoft ADO Ext.
2.5 for DDL and Security. Чтобы избежать конфликтов с именами уже имеющихся классов Delphi
(например, TTable), следует переименовать классы ADOX, заменив имена на что-нибудь типа TADOXxxx.
Затем нужно убрать отметку из опции Generate Component Wrapper — в данном случае нам нужен
только файл *.pas, содержащий интерфейс для доступа к объектам ADOX, а затем нажать кнопку
Create Unit. Это приведет к созданию файла ADOX_TLB.PAS, содержащего интерфейс к библиотеке
типов ADOX. Создав этот файл, мы должны сослаться на него, а также на модуль ADODB в
предложении Uses главного модуля нашего проекта).

Создаются 2 таблицы (Otdel,Departament).Поле NumDepartament в таблице Otdel является
внешним ключем к полю NumDepartament в таблице NumDepartament. Поля NumDepartament и
NumOtdel в таблицах Departament и Otdel сответственно являются первичными ключами.
Читать полностью…