|
оцените плиз мой первый макрос. Что можно подкрутить
|
|||
---|---|---|---|
#18+
Добрый день, написал свой первый макрос, хотелось бы узнать мнение профи, чтобы сразу избежать ошибок и на будущее запомнить это. Задача: есть заполненный столбец в листе, необходимо для каждой записи из этого столбца подтянуть некоторые другие данные из БД. Делаю: коннект к БД и в цикле работаю с этим листом, вызывая хранимую процедуру и каждый раз передавая ей в качестве параметра значение из этого столбца. Все,что возвращает БД, помещаю в recordset и оттуда вставляю в лист. Во время выборки максимальной даты придумал временное решение: засунуть в ячейку, потом в переменную и очистить ячейку. Вот листинг макроса: Код: vbnet 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.
спасибо всем большое. Модератор: учимся пользоваться тэгами оформления кода ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2012, 09:35 |
|
оцените плиз мой первый макрос. Что можно подкрутить
|
|||
---|---|---|---|
#18+
LudeV, прошу подсказки, потому что есть 2 проблемы: 1) долгая работа всего макроса,но это некритично и в принципе может быть связана с работой БД 2) на время работы лист подвисает и работать нормально не получается - это критично,но как исправить пока не нашел ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2012, 09:36 |
|
оцените плиз мой первый макрос. Что можно подкрутить
|
|||
---|---|---|---|
#18+
LudeV, попробуй поставить DoEvents в цикл. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2012, 10:09 |
|
оцените плиз мой первый макрос. Что можно подкрутить
|
|||
---|---|---|---|
#18+
BelowZero, да, действительно, помогло. спасибо большое ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2012, 11:03 |
|
оцените плиз мой первый макрос. Что можно подкрутить
|
|||
---|---|---|---|
#18+
> Автор: LudeV > 1) долгая работа всего макроса,но это некритично и в принципе может быть связана с работой БД Это может быть связано с неоптимальным алгоритмом. Опиши словами что нужно сделать. > 2) на время работы лист подвисает и работать нормально не получается - это критично,но как исправить пока не > нашел Когда работает макрос, работать с Екселем все равно не получится. Поэтому интересует что за критичность такая может быть? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2012, 11:03 |
|
оцените плиз мой первый макрос. Что можно подкрутить
|
|||
---|---|---|---|
#18+
LudeV, _возможно_, ускорить выполнение получится, если для получения значений в цикле вместо ADODB.Recordset использовать подготовленную команду с параметрами ( ADODB.Command ). ЗЫ: Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2012, 13:13 |
|
|
start [/forum/topic.php?fid=60&tid=2157853]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 322ms |
total: | 449ms |
0 / 0 |