Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Хочу создать программно БД на Access'97. Помогите... [D7, MS Access]


46_55_41_44 ©   (2004-07-30 14:57:00) 

Procedure TForm1.CreateDBEngine;
Begin
 CoreDBEngine := CreateOleDBEngine(Class_PrivDBEngine);
//Когда доходит до этого места выводит сообщение
//EOleSysError - Class Not registered for use
 CoreWorkspace := CoreDBEngine.CreateWorkspace('(In Access''97 mode)','Admin','',dbUseJet);
 CoreDBEngine.Workspaces.Append(CoreWorkspace);
End;
В чем дело как вы думаете... Спасибо заранее


sniknik   (2004-07-31 13:22:00) [1]

> не работает!!!!
см. пост [1] 2 пункт.

есть другой способ, вместо DAO (устарел, возможно его совсем не ставят, хотя странно это драйвера его видел в поставке jet-а, поддержка сверху вниз идет)

второй способ, ADOX

function TDMod.CreateMDBBase(const BaseName: string): boolean;
var AdoEngine: Variant;
begin
 result:= false;
 if Length(BaseName)=0 then begin
   DoIfError('Íå îïðåäåëåíî èìÿ áàçû');
   exit;
 end;
 try
   try
     AdoEngine:= CreateOleObject('ADOX.Catalog');
     AdoEngine.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+GetMdbName(BaseName)+';Jet OLEDB:Engine Type=4;'); {4 это как раз 97й}
     AdoEngine.ActiveConnection.Close;
     result:= true;
   except
     on E: Exception do DoIfError(E.Message);
   end;
 finally
   AdoEngine:= Null;
 end;
end;


и не говори "не работает" это бред, говори что за ошибку дает и т.д.


46_55_41_44   (2004-07-31 11:01:00) [2]


> и еще кстати
> http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988623008&n=14
> ;о))
> (минута поиска)

не работает!!!!


sniknik   (2004-07-30 21:40:00) [3]

access это проверка, для уверенности что все стоит.
> CreateOleDBEngine
это что кстати? твоя процедура?

и еще кстати
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988623008&n=14
;о))
(минута поиска)


46_55_41_44   (2004-07-30 15:24:00) [4]


> 1 Class_PrivDBEngine <> 'DAO.DBEngine'
> 2 DAO нет на машине как такового

DAO есть... не первый в этом деле я!!!

> Собственно, пояснение к [1]  ;) У вас на машине собственно
> Access стоит?

А это собственно и не важно, хотя Access есть!
Но еще раз подчеркиваю - это не важно! Я же не Access использую, а OLE DB!


dtm   (2004-07-30 15:18:00) [5]

Собственно, пояснение к [1]  ;) У вас на машине собственно Access стоит?


sniknik   (2004-07-30 15:09:00) [6]

> В чем дело как вы думаете
1 Class_PrivDBEngine <> 'DAO.DBEngine'
2 DAO нет на машине как такового


Наверх

Титульная страница Поиск, карта сайта Написать письмо