|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&ДейлНе совсем понятно, зачем 2 рекордсета? Второму присвоить значение первого или просто в оба рекорда записать одинаковые запросы? Разные запросы - для тех полей и в том порядке, которые Вы хотите. Вы же хотите разные. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 11:33 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, Для несмежных диапазонов можно возвращать индивидуальные рекордсеты, состоящие из одного поля. Это может оказаться быстрее, чем организация циклов. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 11:48 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Понял, но тогда останется проблема как не трогать определенные записи? Сейчас сделано с циклом но не совсем правильно работает именно в плане вставки пустой строки ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 12:11 |
|
Вставка 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 12:17 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&ДейлПонял, но тогда останется проблема как не трогать определенные записи? Сейчас сделано с циклом но не совсем правильно работает именно в плане вставки пустой строки Неясно, что такое "определенные записи" и что значит их не трогать. Циклы не нужны, для этого можно использовать запросы и метод CopyFromRecordset. Вам требуется вставка пустой строки посреди рекордсета? Вставьте ее после отработки метода туда, куда хотите. Или сделайте запрос так, чтобы он возвратил пустую строку где Вы желаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 12:20 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
The_Prist, Я вставлял ее туда, но там она тоже не так работает) Код: 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.
Результат на скрине ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 12:34 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Начальный вид документа ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 12:35 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Извиняюсь за размеры скринов. Вот те строки которые покрашены должны опускаться но этого не происходит ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 12:36 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&ДейлИзвиняюсь за размеры скринов. Вот те строки которые покрашены должны опускаться но этого не происходит У Вас нет покрашенных строк, вместо них - покрашенные отдельные ячейки. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 12:40 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, И зачем в коде Selection? Надо при обработке кода успеть что-то выделить?? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 12:42 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейлно там она тоже не так работаетТак Вы скажите как надо. Чего Вы с нами в угадай-ку играете? Она работает ровно так, как сами запрограммировали. 1. Где ячейка с именем "start"? Какое в ней значение? 2. Строку Вы вставляете в ячейку с выделенным диапазоном(Selection.EntireRow.Insert). Зачем? Ведь запись идет не в выделенные ячейки, а на основании адресации в цикле. 3. В отчете уже есть пустые строки. Вы их никак не определяете. Зачем они тогда нужны? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 12:45 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, А, понял, Вам надо итоговую часть сохранить? А Вы ее вообще уберите и после этого закодируйте. :0) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 12:53 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Ячейка "start" это A9 она пустая, других способов вставить пустую строку я не нашел поэтому Selection.EntireRow.Insert , наличие или отсутствие пустых выше окрашенных ячеек не меняет картины ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 12:59 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
i45Чип&Дейл, А, понял, Вам надо итоговую часть сохранить? А Вы ее вообще уберите и после этого закодируйте. :0) как вариант конечно можно ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 13:01 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, А зачем Вам Selection? В принципе, если нет желания кодировать итоговую часть, можно вернуть число записей из Вашего рекордсета и сразу вставить столько пустых строк, сколько записей в нем. А потом - CopyFromRecordset (по-моему, этот метод сам строки не вставляет, а лишь кидает результат на страницу). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 13:05 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, Нет смысла делать сто вставок по одной строке, если можно это сделать один только раз и сразу для ста строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 13:09 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
i45Чип&Дейл, А зачем Вам Selection? В принципе, если нет желания кодировать итоговую часть, можно вернуть число записей из Вашего рекордсета и сразу вставить столько пустых строк, сколько записей в нем. А потом - CopyFromRecordset (по-моему, этот метод сам строки не вставляет, а лишь кидает результат на страницу). Сейчас попробую) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 13:12 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейлi45Чип&Дейл, А зачем Вам Selection? В принципе, если нет желания кодировать итоговую часть, можно вернуть число записей из Вашего рекордсета и сразу вставить столько пустых строк, сколько записей в нем. А потом - CopyFromRecordset (по-моему, этот метод сам строки не вставляет, а лишь кидает результат на страницу). Сейчас попробую) Для узнавания числа записей в рекордсете цикл не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 13:19 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Но один цикл ведь будет для вставки количества строк до тех пор пока не достигнем значения rs.RecordCount, верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 13:27 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, перед циклом: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 13:43 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
И тогда не надо будет вставлять строки внутри цикла. Вставили один раз и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 13:43 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Если делаю без цикла то картина не меняется Код: vbnet 1. 2. 3. 4.
Если делаю вот так Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Вставляет все что нужно и не портит Итог, но бывает выходит ошибка run-time error '1004 method 'rows' of object ' _global' failed Где я опять неправильно делаю? Выделяет строку Rows("9:9").Insert Shift:=xlDown ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 14:00 |
|
Вставка Recordset
|
|||
---|---|---|---|
#18+
Чип&Дейл, Может у Вас rs.RecordCount возвращает 1, откуда знать? Вы проверьте: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Сама вставка строк работает и проблема может быть только в том, что Вы перед вычислением строк Recordset не переходите на последнюю запись и как следствие всегда возвращается 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 14:22 |
|
|
start [/forum/topic.php?fid=60&msg=39071862&tid=2155773]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 137ms |
0 / 0 |