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