|
Оптимизация
|
|||
---|---|---|---|
#18+
Уважаемые, извиняюсь конечно но в очередной раз прошу вашего help(а) вывод данных из нескольких таблиц в шаблон word, накропал вот такой код: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89.
в принципе все работает так как и задумывалось - но, есть большое но: сейчас в таблице обрабатывается порядка 200 записей, документ формируется порядка 1,5 минут, а если тысяча -5-10 это же..... кошмар. Вопрос - как правильно с вашей точки зрения организовать данное действо? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 00:10 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
Можно сформировать сначала курсор с содержимым .Tables(3), в нем провести все вычисления и замены значений - а затем разом переписать в таблицу. Перед этим строки в таблице тоже удалять/добавлять можно разом, а не по одной. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 07:47 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
тоже составлял временную таблицу(можно в неё и формулы наверное записать) и потом COPY TO xx.XLS" TYPE XL5, открываешь в Excel всё довольно быстро.. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 08:19 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
q1w1e1, у ТСа ворд, а не эксель. Вот интересно, получится ли к вордовским таблицам применить arraypasser? Нотация доступа к ним вроде похожа на экселевскую... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 08:26 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
Nikita_2но, есть большое но: сейчас в таблице обрабатывается порядка 200 записей, документ формируется порядка 1,5 минут, а если тысяча -5-10 это же..... кошмар. Вопрос - как правильно с вашей точки зрения организовать данное действо? Word - это текстовый редактор. Предназначен для ввода/отображения текста . Для него таблицы - это вспомогательный инструмент отображения того же текста. И именно в небольших объемах. Порядка нескольких десятков записей. Если речь идет об отображении тысяч и десятков тысяч записей, то текстовый редактор для этого мало пригоден. Нужно использовать инструмент, специально для этого и предназначенный. Т.е. табличный редактор Excel. Гораздо проще нарисовать некую шапку в Excel, чем мучиться с выводом большой табличной части в Word. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 11:53 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
Спасибо всем за ответы. В принципе это понятно , что для этих целей excel более приемлем, но вот начальник бяка - вынь да положь ему в word(e). По мне так вообще в report вывести и делов то ... но ... буду дальше ваять в конце концов не мне ж потом мучиться .. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 12:36 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
В Word можно вставлять листы Excel. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 12:44 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
Nikita_2, Лучше разделять создание отчета на 2 части: 1) выборка данных для отчета в курсор(ы), 2) вывод данных в отчет. Так убиваем несколько зайцев: скорость работы (Ваш случай); наглядность кода; если потребуется отчет в разных форматах (родной/pdf,excel,word...), то дописывается всего лишь дополнительный вариант части 2, первая же без изменений ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 16:15 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
XAndy Спасибо. Именно этим сейчас и занялся на ночь глядя .. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 21:28 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
Nikita_2, Если нужно ускорить процесс формирования документа, то воспользуйтесь генератором отчетов GENREP (автор - А.Куденцов, сайт проекта - http://www.genrep.net). Он формирует документ в формате RTF без вызова WORDа, что на порядок быстрее. В разделе "Решения" FoxClub можно найти и другие решения, основанные на этом принципе. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2013, 22:21 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
Nikita_2Уважаемые, извиняюсь конечно но в очередной раз прошу вашего help(а) вывод данных из нескольких таблиц в шаблон word, накропал вот такой код SCAN нормальная команда, но когда четыре вложенных SCANа и без видимых условиях отбора, это imho перебор. Попробуйте внутри внешнего цикла отбор данных другими командами. Начните с SEEK, может быть понадобится еще и DO WHILE. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2013, 23:05 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
fore5ta Не спасибо, загнал все в курсоры, скорость формирования от начала и до .Visible = .T. , возросла с 2 мин до 2,7 сек, оно то что нужно. 33 раза зарекался людей своими заморочками от дел отвлекать пока сам все варианты не переберу ан нет руки чешутся .. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2013, 21:05 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
Nikita_2Спасибо всем за ответы. В принципе это понятно , что для этих целей excel более приемлем, но вот начальник бяка - вынь да положь ему в word(e). По мне так вообще в report вывести и делов то ... но ... буду дальше ваять в конце концов не мне ж потом мучиться .. Можно попробовать объяснить что иной способ более технологичный, возможно выслушав ваши убедительные аргументы он согласиться - не можете убедить - извиняйте. С другой стороны у начальника могут быть свои аргументы - и логика в связи с которой отчет нужно в ворд В конце то концов , Вам какая Вам разница у вас есть задача - выполняйте Начальник ведь будет в курсе , что вывод таблиц лучше делать excel ... он и сам это понимает наверняка опять же положительный момент в том что вы изучите вывод в word ! к примеру вывод одного поля ... Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2014, 09:17 |
|
|
start [/forum/topic.php?fid=41&fpage=35&tid=1582763]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
others: | 303ms |
total: | 470ms |
0 / 0 |