![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание 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 ?
Возможно перед открытием надо убить индекс.