Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > MSAccess из под BDE


Автор: December 18.8.2003, 04:56
Greetings All!
Вопрос туповатый, но и автор не лучше.
Вот приспичило мне создать табличку типа MSAccess. Пытаюсь создать (в Database Desktop), на этапе Save As мне миленько заявляется, что алиас не тот, и расширение не подходящее, и вообще имя файла левое.
Ладно, пытаюсь создать алиас данного типа посредством того же DBD и BDE. Не далече пробившись, получаю следующее сообщение:

Can't start your application. The workgroup information file is missing or opened exclusively by another user.

Вот. В связи с чем несколько вопросов (да, модераторы, я знаю, один топик - один вопрос, но растаскивать ЭТО по разным топикам, гм, неприлично как-то).
1. (Классический) Что делать?
2. Где бы почитать про особенности данного типа баз данных? В хелпах D7 Ent. ниичаво нет - или не нашёл?
Насчёт текущей конфигурации - будем считать, что Delphi только-только перставлен, и никакая гадость ещё не успела нагадостить в настройках.

Автор: Vit 18.8.2003, 05:24
BDE драйвера не поддерживают новые версии MS Access - используй ADO

Автор: December 18.8.2003, 13:17
Цитата(Vit @ 18.8.2003, 05:24)
BDE драйвера не поддерживают новые версии MS Access - используй ADO

Э-э-э-э... То есть - в BDE буковки MSAccess для понта включили?

Автор: Vit 18.8.2003, 15:00
Цитата(December @ 18.8.2003, 04:17)
Цитата(Vit @ 18.8.2003, 05:24)
BDE драйвера не поддерживают новые версии MS Access - используй ADO

Э-э-э-э... То есть - в BDE буковки MSAccess для понта включили?

Нет, поддержка MS Access из оффиса 95/97 работает хорошо

Автор: Medved 18.8.2003, 21:30
Ответ №1 - классический. Создавать БД в самой Access.
вариант Б. Создать программно, через ADO.

Автор: Akella 29.8.2003, 22:55
Я вот отыскал такой код, но сам не тестировал, не обессудьте:: confused.gif
Код
[B]Как создать базу данных Acceess во время выполнения[/B]
Можно применить DAO
procedure CreateMSAccessDB(filename : String);var  DBEngine, Workspace: Variant;
const  {Important to use the following constant as is}   dbLangGeneral = ';
LANGID=0x0409;CP=1252;COUNTRY=0';  dbVersion30 = 32;
begin  DBEngine := CreateOleObject('DAO.DBEngine');  
{DBEngine := CreateOleObject('DAO.DBEngine.35'); For DAO 3.5}
 Workspace := DBEngine.Workspaces[0];  try    
 Workspace.CreateDatabase(filename, dbLangGeneral, dbVersion30);  
 except on EOleException do    
 ShowMessage('Database already exists');
  end;
 end

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)