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

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

Скорость экспорта данных [D7, Firebird]


Страницы:   1 2

_1008_ ©   (2004-12-29 16:50:00) 

Есть база, в базе записи.
Три таблицы:
Табл1, Табл2, Табл3.
Табл1 и Табл2 связаны связью один ко многим
Табл1 и Табл3 связаны связью один к одному.

Всё что мне необходимо это:
1. Поместить в MS Word "управляющие строки" (некие записи поясняющие к чему относятся данные, которые берутся из таблицы);
2. поместить в MS Word данные из Табл1;
3. ещё "управляющие строки";
4. поместить в MS Word данные из Табл2, которые связаны с данными из Табл1.
5. ещё "управляющие строки";
6. поместить в MS Word данные из Табл3, которые связаны с данными из Табл1.

Не знаю в чём проблема вот и обратился сюда.


_1008_   (2005-01-04 09:54:00) [1]

YurikGL ©  (01.01.05 10:09) [33]

Спасибо, попробую разобраться.


YurikGL   (2005-01-01 10:09:00) [2]

http://www.delphimaster.ru/articles/dbtoword/index.html


Max Zyuzin   (2004-12-31 12:19:00) [3]

>_1008_   (30.12.04 15:09) [31]
Нужно покавырятся, а сейчас совсем не в состоянии... после праздников, ок? С НГ тебя


_1008_   (2004-12-30 15:09:00) [4]

Max Zyuzin ©  (30.12.04 14:54) [30]

InsertOleObject :) кажись так пишется. В диалоге выбирается тип объекта (коих в Windows не мало) и вперёд и с песнями.


Max Zyuzin   (2004-12-30 14:54:00) [5]

>_1008_   (30.12.04 14:51) [29]
Хотелось бы посмотреть как ты в это поле заносишь данные? так эе через клипбоард?


_1008_   (2004-12-30 14:51:00) [6]

Max Zyuzin ©  (30.12.04 14:26) [28]

Назовём это композитными данными:
- текст;
- графика;
- формулы;
- что ещё в Word воткнуть штатными средствами можно.


Max Zyuzin   (2004-12-30 14:26:00) [7]

>_1008_   (30.12.04 14:15) [26]
А в блобе что живет? Не текст случаем?


Sancho   (2004-12-30 14:16:00) [8]

_1008_   (30.12.04 13:52) [24]
Вот на XP можно попробовать отключить воостановление системы на том диске где файлы БД лежат, в смысле gdb. Я где-то читал, что в винде файлы с этим расширением системными считаются, т.е. при их изменении делается бэкап (только в WinXP).


_1008_   (2004-12-30 14:15:00) [9]

Max Zyuzin ©  (30.12.04 14:03) [25]

Простой текст помещаю так:
inc(k);
newStr:='Запис №'+inttostr(k)+':';
WD.Tables.Item(WD.Tables.Count).Rows.Add(EmptyParam);
WD.Tables.Item(WD.Tables.Count).Cell(WD.Tables.Item(WD.Tables.Count).Rows.Count,1).Range.InsertAfter(newStr);
WD.Tables.Item(WD.Tables.Count).Cell(WD.Tables.Item(WD.Tables.Count).Rows.Count,1).Range.Bold:=1;
WD.Tables.Item(WD.Tables.Count).Cell(WD.Tables.Item(WD.Tables.Count).Rows.Count,1).Range.Font.Size:=14;


Блобы переношу в два захода (я тут уже спрашивал - иного решения никто не предложил):
Stream:=QuestQuery.CreateBlobStream(QuestQuery.FieldByName('QUESTION'), bmRead);
JRE.Lines.Clear;
JRE.Lines.LoadFromStream(Stream);
Stream.Free;
//-----------------------------------------//
JRE.SelectAll;
JRE.CopyToClipboard;
WD.Tables.Item(WD.Tables.Count).Rows.Add(EmptyParam);
WD.Tables.Item(WD.Tables.Count).Cell(WD.Tables.Item(WD.Tables.Count).Rows.Count,1).Range.Paste;


JRE - JvxRichEdit,
Stream - поток

Всё это делается в цикле по количеству записей в главной таблице.
Внутренний цикл с похожим кодом помещает подчинённые записи.


Max Zyuzin   (2004-12-30 14:03:00) [10]

>_1008_   (30.12.04 13:51) [23]
Что и все 8 страниц идут на то что бы в ворд вывести документ?


_1008_   (2004-12-30 13:52:00) [11]

Sancho ©  (30.12.04 13:25) [21]

У меня 98-я, на ХР та же мулька.


_1008_   (2004-12-30 13:51:00) [12]

Max Zyuzin ©  (30.12.04 12:54) [18]
msguns ©  (30.12.04 13:00) [20]

Кода много. (распечатка занимает 8 страниц).


Sancho   (2004-12-30 13:26:00) [13]

Знак вопроса забыл, дубль два :-))
А у тебя на машине не XP стоит ?


Sancho   (2004-12-30 13:25:00) [14]

А у тебя на машине не XP стоит.


msguns   (2004-12-30 13:00:00) [15]

1. Каким образом выкидываешь инфу в ворд ?
2. Не проще ли кидать в ексель с помощью "региональных" присвоений, а уж из него в ворд ?
3. Почему нельзя изначально хранить в БД не мемо, а собственно формат .doc ?


msguns   (2004-12-30 13:00:00) [16]

1. Каким образом выкидываешь инфу в ворд ?
2. Не проще ли кидать в ексель с помощью "региональных" присвоений, а уж из него в ворд ?
3. Почему нельзя изначально хранить в БД не мемо, а собственно формат .doc ?


Max Zyuzin   (2004-12-30 12:54:00) [17]

>_1008_   (30.12.04 12:49) [17]
Показывай как формируешь документ...
"телепаты уехали праздновать новый год"Соловьев ©
:) Код в общем покажи....


_1008_   (2004-12-30 12:49:00) [18]

Max Zyuzin ©  (30.12.04 12:13) [16]

Машина с которой медленный коннект на ней винду последний раз года три или четыре назад ставили, там наверняка такой бедлам и фрагментация, что ужас.

Но вопрос не в том, вопрос в том, что моя машина, за которой я сижу формирует мой документ полчаса. Причём активность винчестера почти ноль.


Max Zyuzin   (2004-12-30 12:13:00) [19]

>_1008_   (30.12.04 12:03) [15]
Таакк.. тебе нужно с админами пообщаться, может с сетевыми картами проблемма, хотя даже на 10 Мб 1 Мб будет ООооочень быстро передаваться. Вообще как сеть работает на машине "медленной"?
А вообще у тебя я так понимаю сервер FireBird живет на куче машин что ли?


_1008_   (2004-12-30 12:03:00) [20]

Danilka ©  (30.12.04 11:41) [14]

Данные в базе (в блобе) могут содержать олеобъекты (хорошая вещь RxRichEdit);

Я отображаю данные в RxRichEdit. При локальной работе это происходит довольно шустро (показать одну главную запись и десять связанных с ней занимает заметный промежуток времени, но довольно маленький). При работе по сети раз от раза по разному:
с машиной, которая стоит рядом я связываюсь долго;
с машиной которая стоит двумя этажами выше я связываюсь быстро;


Страницы:   1 2

Наверх

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