|
22.06.2021, 12:17 | #1 |
Участник
|
DAX2012 ADODB.Recordset
Добрый день!
Может кто-нибудь сталкивался и подскажет как побороть проблему. Написан отчет, в который данные помещаются через ADODB.Recordset, шаблон имеет заголовок (где-то объединение ячеек 2 строк), в частности заголовок первого столбца. Т.е. по хорошему данные должны выводиться начиная с 3 строки. При выводе данных происходит непонятная вещь: 1) если строк мало (точное количество не знаю) - отчет выводится нормально. 2) если строк средне (в примере было 775) - ячейки заголовка без объединения во второй строке заполняются данными полей из третьей строки 3) если строк более 2800 - заголовок затирается полностью. |
|
22.06.2021, 12:39 | #2 |
Участник
|
Вряд ли проблема в Recordset. Скорее всего что-то напутали с подготовкой листа до или после вывода Recordset в Excel. Вы выполняете копирование или удаление строк, до или после вставки Recordset?
|
|
22.06.2021, 12:51 | #3 |
Участник
|
Происходит копирование.
cell = rng.Offset(1, 0); cell.CopyFromRecordset(rstAxa), rstAxa уже заполнен. Я не отрицаю, может где-то и косяк. Хотя если заголовок сделать в 1 строку, то проблем нет. Меня больше интересует вариативность поведения в зависимости от количества строк. Как будто там есть какой то ограничитель, на подобие количества столбцов, из-за которого поведение меняется. |
|
22.06.2021, 14:12 | #4 |
Участник
|
X++: info(cell.Address()); |
|
22.06.2021, 15:32 | #5 |
Участник
|
В ходе проверки нашел причину: если cell = rng.Offset(1, 0); вызывается на родительском классе, то возвращается А2, если на дочернем - А3.
Почему так - загадка. |
|