|
|
|
Excel - Имя Query
|
|||
|---|---|---|---|
|
#18+
Поискала на форуме, пока не нашла. Не могу понять, где же хранится этот "счетчик"... Когда создается Query на новом листе, ей дается автоматически имя, например, Код: plaintext Когда же пытаешься ее удалить (даже кодом на VBA), то следующей Query на этом же листе автоматически присваивается имя (если все параметры те же): Код: plaintext Причем, когда в командной строке смотришь сколько на листе таблиц, то можно увидеть, что только одна (меняя индекс в QueryTables(Индекс): Код: plaintext 1. 2. Паталась насильно дать имя кодом: Код: plaintext Мне очень нужно при добавлении Query всегда иметь одно и то же имя, так как у меня много формул, где оно используется, и если оно постоянно динамически меняется, у меня летят все формулы. Знает ли кто где можно поменять это имя или поставить этот счетчик в нулевое состояние? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 14:05 |
|
||
|
Excel - Имя Query
|
|||
|---|---|---|---|
|
#18+
Когда создаешь запрос, создается и именованный диапазон. Удаляя запрос, ты не удаляешь этот именованный диапазон. Если ты создаешь новый запрос с именем, соответствующим именованному диапазону, Excel добавляет цифру в конец. Возможно причина в этом. Попробуй, после того как удаляешь запрос, удалять и именованный диапазон. На самом деле, раз уж тебе нужно использоваться одно имя запроса, меняй свойства Connection и CommandText существующего запроса, затем обновляй его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 14:41 |
|
||
|
Excel - Имя Query
|
|||
|---|---|---|---|
|
#18+
А можно строчечку, где фигурирует диапазон, например, как его удалить или как к нему обратиться, а то я совсем недавно с запросами работаю. Спасибо заранее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 15:51 |
|
||
|
Excel - Имя Query
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. Но, попробовав такой код, у меня не получилось решить проблему с именами (Excel 2003 SP-2). Поэтому, я все-таки склоняюсь к изменениям свойств существующего запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 16:40 |
|
||
|
Excel - Имя Query
|
|||
|---|---|---|---|
|
#18+
Похоже так и придется сделать... Спасибо в любом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 16:53 |
|
||
|
Excel - Имя Query
|
|||
|---|---|---|---|
|
#18+
Еще один парадокс...не могу справиться...Может, у кого будут идеи??? В коде я изменяю соединение Код: plaintext То есть обращаюсь к Query, как надо. Но у меня на листе три таких и каждому надо разные соединения... Когда сохраняешь файл перед закрытием и когда его снова открываешь, порядок Query совершенно меняется. Та, что была QueryTables(3), стала QueryTables(2) и так далее. В результате у меня все соединения и таблицы перемешиваются. Не знаете как зафиксировать Query в QueryTаbles? Или как обратиться к ним по-другому? Так как через название диапазона не получается, типа: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 20:49 |
|
||
|
Excel - Имя Query
|
|||
|---|---|---|---|
|
#18+
Для всех коллекций в которых находятся именованые объекты поддерживается два синтаксиса. По номеру объекта в коллекции и по его имени. То есть в твоем случае: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 22:07 |
|
||
|
Excel - Имя Query
|
|||
|---|---|---|---|
|
#18+
White Owl Код: plaintext Ой, спасибочки огромное. Я правда, уже продумала как это обойти, но так и красивее и на 5 строчек кода меньше. У меня вот еще проблемка. Все мои четыре Query имеют общий параметр(даты) и если им дать такие даты, что в базе данных для этих условий ничего не будет, то так как они все одновременно начинают обновляться как только меняется этот параметр, у меня вышибает Excel. Когда я их обновляю по одной, все проходит спокойно. Только сообщение появляется, что ничего нет. А когда меняю параметр, они, мне кажется, все в одно время обновляются. Как бы так разделить во времени их обновление? Лучше было бы как-нибудь "поймать" этот момент, когда происходит событие одновления, но я не знаю как. Пробовала уже убрать Background Refresh для каждой, тока пока не помогает. Все равно Excel вышибает. Может, правда, не в этом проблема... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2006, 12:34 |
|
||
|
Excel - Имя Query
|
|||
|---|---|---|---|
|
#18+
StagiereПробовала уже убрать Background Refresh для каждой, тока пока не помогает. Все равно Excel вышибает. Может, правда, не в этом проблема... 1) убрать Background Refresh - обязательно 2) Excel - очень падучая и ненадежная система. Увы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2006, 17:46 |
|
||
|
Excel - Имя Query
|
|||
|---|---|---|---|
|
#18+
Ну, обнадежили Решила не решать проблему, а избавиться от проблемы. Убрала к черту одну таблицу, вроде должны обойтись без нее (когда меньше четырех, работает отлично, ничего не вышибает). Спасибо большое за ответы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2006, 17:54 |
|
||
|
Excel - Имя Query
|
|||
|---|---|---|---|
|
#18+
Короче, прикол. Если дать программно имя оканчивающееся на QueryTable, например XXX_QueryTable, то как бы ты не удалял таблицы и имена диапазонов, все равно имя будет XXX_QueryTable_1. Судя по всему, при создании QueryTable ей автоматом дается имя QueryTable, и когда мы делаем: with ActiveSheet.QueryTables.Ad(... .Name=XXX_QueryTable ... End With то счетчик автоматом увеличивается и имя получается с _1 Вывод: не давайте имена оканчивающиеся на QueryTable! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 15:03 |
|
||
|
Excel - Имя Query
|
|||
|---|---|---|---|
|
#18+
Вывод был неправильный :-) Пока сделал так: Кнопка bttnQueryTableCreate спрятана, а пользователю дается кнопка bttnQueryTableRefresh. Т.е. аккуратненько создаем QueryTable, проверяем чтобы имя соответствовало объявленной константе, если появляется "..._1", то меняем константу на другую. Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 17:49 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36759673&tid=2177848]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 482ms |

| 0 / 0 |
