|
|
|
как при помощи VBA в excel получить данные с SQL-сервера
|
|||
|---|---|---|---|
|
#18+
возникла необходимость в экселевском файле заполнить ячейки на основе запроса к SQL-серверу. в свое время делал экспорт данных в эксель из аксеса - было все предельно ясно... а тут прилип к хелпу уже на пару часов - не могу разобраться.... может кто-нибудь подсобит примерчиком ??? пс: просьба, также указывать какие необходимы библиотеки для ваших примеров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2008, 11:42 |
|
||
|
как при помощи VBA в excel получить данные с SQL-сервера
|
|||
|---|---|---|---|
|
#18+
используйте Данные-Импорт внешних данных - Создать запрос и возится с кодом не надо P.S.: если все же нужен код то ищите по словам ADO I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2008, 12:16 |
|
||
|
как при помощи VBA в excel получить данные с SQL-сервера
|
|||
|---|---|---|---|
|
#18+
пробовал сделать через QueryTables примерно таким образом Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. тег SRC выдает ошибку application-defined or object-defined error помогите разобраться что к чему.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2008, 13:39 |
|
||
|
как при помощи VBA в excel получить данные с SQL-сервера
|
|||
|---|---|---|---|
|
#18+
выдает где? и зачем столько раз делать запрос? I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2008, 13:45 |
|
||
|
как при помощи VBA в excel получить данные с SQL-сервера
|
|||
|---|---|---|---|
|
#18+
[quot HandKot]выдает где? и зачем столько раз делать запрос? слетает на этой строке wsh.QueryTables.Add(Connection:=ConnectionString, Destination:=Range("P228"), sql:=strsql) запрос в цикле, потому что в само тело запроса будут вставляться значения из ячеек листа.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 09:10 |
|
||
|
как при помощи VBA в excel получить данные с SQL-сервера
|
|||
|---|---|---|---|
|
#18+
> Автор: redrum > слетает на этой строке > wsh.QueryTables.Add(Connection:=ConnectionString, > Destination:=Range("P228"), sql:=strsql) Может потому, что Destination:=Range("P228") без изменений? и после первого выполнения этот Range уже заполнен? Чего хоть пишет? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 10:12 |
|
||
|
как при помощи VBA в excel получить данные с SQL-сервера
|
|||
|---|---|---|---|
|
#18+
Мой вариант реализованный в Oracle, думаю вполне подойдет и для MySql там только подключение нужно организовать под него. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 11:00 |
|
||
|
как при помощи VBA в excel получить данные с SQL-сервера
|
|||
|---|---|---|---|
|
#18+
>Может потому, что Destination:=Range("P228") без изменений? >и после первого выполнения этот Range уже заполнен? >Чего хоть пишет? Destination:=Range("P228") - не влияет, потому что сваливается на первом проходе... как раз при попытке заполнить ячейку первый раз... выдает сообщение "application-defined or object-defined error" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 11:49 |
|
||
|
как при помощи VBA в excel получить данные с SQL-сервера
|
|||
|---|---|---|---|
|
#18+
> Автор: redrum > Destination:=Range("P228") - не влияет, потому что сваливается на > первом проходе... как раз при попытке заполнить ячейку первый раз... > выдает сообщение "application-defined or object-defined error" Ну что тебе сказать, ConnectionString и strsql правильно заполнены? потому что валится где-то внутри, то ли при установке соединения, то ли при попытке выполнить запрос. Мне при записи макроса сделало такой код: Код: 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. одноразовое получение данных, а после будешь модернизировать в цикл ;-) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 12:10 |
|
||
|
как при помощи VBA в excel получить данные с SQL-сервера
|
|||
|---|---|---|---|
|
#18+
>Ну что тебе сказать, ConnectionString и strsql правильно заполнены? спасибо за пример с макросом... сейчас буду разбираться.... сам запрос - простейший... в аксесе отрабатывает без вопросов.... а вот с ConnectionString наверное действительно стоит тщательно проверить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 12:41 |
|
||
|
как при помощи VBA в excel получить данные с SQL-сервера
|
|||
|---|---|---|---|
|
#18+
Собственно можно воспользоваться Build подключением к MsSQL, например посредством OLE: Код: plaintext ну и затем использовать свой запрос посредством рекордсета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 13:24 |
|
||
|
как при помощи VBA в excel получить данные с SQL-сервера
|
|||
|---|---|---|---|
|
#18+
Проблема действительно оказалась в connectionstring.... Теперь возник другой вопрос - при вставке значений в ячейки добавляется еще и шапка запроса... Как отключить эту "опцию", чтобы копировались только значения ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2008, 09:37 |
|
||
|
как при помощи VBA в excel получить данные с SQL-сервера
|
|||
|---|---|---|---|
|
#18+
может это поможет Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. обратите внимание на .FieldNames = True I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2008, 10:28 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=35175474&tid=2162574]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
89ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 467ms |

| 0 / 0 |
