Форум: "Базы";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];
ВнизКак создать пустую базу 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.045 c