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

Вниз

Как создать пустую базу MS Access?   Найти похожие ветки 

 
Константинов ©   (2007-02-01 21:18) [0]

Нашел следующее:

Procedure CreateMSAccessDatabase(filename : String);
var DAO: Variant;
i:integer;
Const Engines:array[0..2] of string=("DAO.DBEngine.36", "DAO.DBEngine.35", "DAO.DBEngine");

Function CheckClass(OLEClassName:string):boolean;
var Res: HResult;
begin
Result:=CoCreateInstance(ProgIDToClassID(OLEClassName), nil, CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IDispatch, Res)=S_OK;
end;
begin
For i:=0 to 2 do
if CheckClass(Engines[i]) then
begin
DAO := CreateOleObject(Engines[i]);
DAO.Workspaces[0].CreateDatabase  (filename, ";LANGID=0x0409;CP=1252;COUNTRY=0", 32);
exit;
end;
Raise Exception.Create("DAO engine could not be initialized");
end;


В каком модуле прописано CoCreateInstance?

Зарание спасибо.


 
sniknik ©   (2007-02-01 22:07) [1]

вообщето в ActiveX
но использовать DAO..., гораздо проще

procedure CreateMDBBase(const BaseName: string);
var AE: Variant;
begin
 AE:= CreateOleObject("ADOX.Catalog");
 try
   AE.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+BaseName);
   AE.ActiveConnection.Close;
 finally
   AE:= Null;
 end;
end;


 
Anatoly Podgoretsky ©   (2007-02-01 23:20) [2]

CopyFile(Template, Base, Flag)


 
Константинов ©   (2007-02-01 23:42) [3]

Огромное спасибо!
Еще один небольшой вопрос:

Создаю таблицы:

  FileName := Edit1.Text;
 CreateMDBBase(FileName);
 ADOConnection1.ConnectionString := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";
 ADOConnection1.Open;
 ADOCommand1.CommandText := "CREATE TABLE MapItems ( ID INTEGER NOT NULL PRIMARY KEY, ParenID INTEGER, FileName TEXT(255))";
 ADOCommand1.Execute;


Плохо знаю синтаксис команд SQL.
Тип поля ID должен быть "счетчик" как это сделать?


 
Константинов ©   (2007-02-01 23:50) [4]


> CopyFile(Template, Base, Flag)


Насколько я понял, Вы предлагаете просто скопировать существующий шаблон базы в новое место.

До этого момента я именно так и делал, но...

1. Не хочется таскать за приложением ( при переносе на другой ПК ) пустую базу.

2. Думаю, это никак не вписывается в правила "хорошего тона"  при написании программ.


 
Константинов ©   (2007-02-02 00:37) [5]

Нарыл тип Autoinc? но что-то не прокатывает в запросе :(


 
Константинов ©   (2007-02-02 00:53) [6]

Уф! Нашел... IDIDENTITY, PRIMARY KEY ( ID )



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

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

Наверх




Память: 0.48 MB
Время: 0.08 c
15-1175184981
Kerk
2007-03-29 20:16
2007.04.22
Чем trackback отличается от pingback а ?


2-1175197234
GRANWOLF
2007-03-29 23:40
2007.04.22
библиотеки


3-1170074792
Petrovsky
2007-01-29 15:46
2007.04.22
Замучила "Неопознанная ошибка"


2-1175521812
Stenfit
2007-04-02 17:50
2007.04.22
Помогите разобраться з запросом...


3-1170068890
AlexXXX
2007-01-29 14:08
2007.04.22
сохранение в БД символов "£" и других....