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

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

Создание dbf в runtime [D5]


Uran ©   (2004-11-09 11:36:00) 

Необходимо в runtime создать таблицу dbf, но при обязательном условии, что бы потом она открылась в  Excel.
Создаю следующим образом

procedure MakeDataBase;
begin
  with TTable.Create(nil) do
  begin
    DatabaseName  := 'c:\temp';  (* alias *)
    TableName    := 'test.dbf';
    TableType    := ttDBase;
    with FieldDefs do
    begin
      Add('F_NAME', ftString,20,false);
      Add('L_NAME', ftString,30,false);
    end;
    CreateTable;
    { create a calculated index }
    with IndexDefs do
    begin
      Clear;
      { don't forget ixExpression in calculated indexes! }
      AddIndex('name','Upper(L_NAME)+Upper(F_NAME)',[ixExpression]);
    end;
  end;
end;
Excel ругается на неправильный формат и таблица не открывается. F DatabaseDesktop нормально открывает. Подскажите как создать удобоваримый для Excel dbf?


Danilka   (2004-11-09 13:55:00) [1]

[3] Uran   (09.11.04 12:47)
> все уже перепробовал!

Без индекса тоже пробовал?

[1] dolmat   (09.11.04 11:43)
Вообще, большойобъем данных записать в ДБФ-ку которую уже открыть в экселе и отформатировать получается немного быстрее, чем писать в эксель все данные через ОЛЕ.


Uran   (2004-11-09 12:47:00) [2]

гм ... а что тогда у меня может быть !? на что надо обратить внимание... все уже перепробовал! :(


VICTOR_   (2004-11-09 12:00:00) [3]

Открыл в Excel 2000 таблицу, созданную при помощи данного кода. Без проблем.
ФОрмат действительно должен быть ttDBase


dolmat   (2004-11-09 11:43:00) [4]

А почему не сразу в Excel ?

Возможно перед открытием надо убить индекс.


Наверх

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