|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Добрый день, уважаемые форумчане) Подскажите как вставить все содержимое record в документ excel Код: vbnet 1. 2. 3. 4. 5. 6. 7.
А вот дальше проблема возникает, как вставить записи из рекорда по порядку как они в нем записаны? и как вставить записи из рекорда в нужном мне порядке? Например, в первом случае нужно вставить поля p1,p2,p4,p6,p7,p10 в A1,B1,C1,D1,E1 соответственно, а во втором случае эти же поля нужно вставить в A1,С1,D1,F1,G1 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2015, 18:17 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, Есть у объекта Range метод CopyFromRecordset. Им можно вставить данные в том порядке, в котором они получены. А для вставки в несмежные диапазоны остается только перебор записей и вставка в ячейки последовательно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2015, 18:50 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Перебор я так понимаю делать через do while? а как указывать нужные мне ячейки в данном случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2015, 19:01 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, Тут я не очень знаю какие у Вас данные. В общем случае делаете цикл по строкам Recordset. Что-то типа: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
где lRecCnt - количество строк в Recordset. lc - это как раз Ваши поля. lcol - используется для назначения соответствия номера поля столбцу ячейки. Я привел топорно с Select Case, но если полей много - лучше запихать соответствия в массивы или словари. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2015, 19:30 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Сделал как сказали, выдает ошибку "Sub or Function not defined" и выделяет слово "Cells" Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Когда делаю вот так, выходит ошибка "object required" и выделяет всю строку начиная с ActiveSheets Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 06:46 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Подключил библиотеку в tools заработало, правда только одну строчку вставляет, а в рекорде их 8 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 07:25 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&ДейлПодключил библиотеку в tools заработало, правда только одну строчку вставляет, а в рекорде их 8 замените Код: vbnet 1.
на Код: vbnet 1.
или же, если оставите первый вариант, сделайте перед циклом Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 08:06 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
c While а после Loop что писать в конце цикла или while без него может работать? c rs все работает, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 08:18 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, я имел ввиду Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 08:21 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейлвыдает ошибку "Sub or Function not defined" и выделяет слово "Cells"Библиотеку можно было не подключать, а делать так: Код: vbnet 1.
Чип&Дейлправда только одну строчку вставляет lRecCnt - я обычно получал количество записей отдельной функцией, что-то вроде: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
objRecSet - это должен быть новый экземпляр Recordset, а не тот, что уже используется. Правда я использовал ADODB.Recordset, который несколько отличается от DAO. Но все равно вроде как уже сами разобрались. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 11:12 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
НУ еще не совсем раозобрался, остался вопрос как начать вставку с именнованной ячейки? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 11:49 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
это я уже понял, проблема в том что вставку из рекорд надо начать с ячейки с именем "start" а она может быть как на 1 строке так и на 25. Если ручками написать например Range("start")=5 он вставит "5" где бы не была ячейка ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 12:23 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, значит плохо поняли :) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 12:24 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Сделал немного по другому, работает Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 12:29 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, Это называется не совсем вставкой, начиная с именованной ячейки. Это вставка, начиная со значения, записанного в именованной ячейке :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 12:49 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Буду знать, еще такая проблемка вышла Код: vbnet 1. 2. 3.
Добавил строчку чтобы после заполнения добавилась новая строчка, но почему то первые 3 записи вставляются как надо а остальные лесенкой) С чем это может быть связано и как исправить? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 14:17 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, видимо где-то не там меняете значение lcol. Приведите весь код по заполнению. По этому куску не понять где ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 16:29 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
The_Prist, плюс Вы вставляете строку после каждой итерации цикла по столбцам. Видимо, правильнее вынести за цикл по столбцам и сделать её в цикле по строкам. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 16:30 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Код: 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.
Вот последняя версия кода вставки.8878 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 06:03 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Проблема немного изменилась) первые 3 записи из рекорда переносятся нормально, потом просто пустые строки и потом последняя снова нормально вставляется ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 06:21 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Может ли быть проблема из за документа? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 08:57 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&ДейлДобрый день, уважаемые форумчане) Подскажите как вставить все содержимое record в документ excel Код: vbnet 1. 2. 3. 4. 5. 6. 7.
А вот дальше проблема возникает, как вставить записи из рекорда по порядку как они в нем записаны? и как вставить записи из рекорда в нужном мне порядке? Например, в первом случае нужно вставить поля p1,p2,p4,p6,p7,p10 в A1,B1,C1,D1,E1 соответственно, а во втором случае эти же поля нужно вставить в A1,С1,D1,F1,G1 Возвратите два рекордсета и, как Вам посоветовал The_Prist, примените CopyFromRecordset к ним обоим. Цикл не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 11:14 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, В запросе используйте ORDER BY ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 11:16 |
|
|
start [/forum/topic.php?fid=60&tid=2155773]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 148ms |
0 / 0 |