AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.06.2021, 12:17   #1  
DesparioN is offline
DesparioN
Участник
 
84 / 15 (1) ++
Регистрация: 21.10.2014
DAX2012 ADODB.Recordset
Добрый день!

Может кто-нибудь сталкивался и подскажет как побороть проблему.
Написан отчет, в который данные помещаются через ADODB.Recordset, шаблон имеет заголовок (где-то объединение ячеек 2 строк), в частности заголовок первого столбца. Т.е. по хорошему данные должны выводиться начиная с 3 строки.

При выводе данных происходит непонятная вещь:
1) если строк мало (точное количество не знаю) - отчет выводится нормально.
2) если строк средне (в примере было 775) - ячейки заголовка без объединения во второй строке заполняются данными полей из третьей строки
3) если строк более 2800 - заголовок затирается полностью.
Старый 22.06.2021, 12:39   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,427 / 1771 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Вряд ли проблема в Recordset. Скорее всего что-то напутали с подготовкой листа до или после вывода Recordset в Excel. Вы выполняете копирование или удаление строк, до или после вставки Recordset?
Старый 22.06.2021, 12:51   #3  
DesparioN is offline
DesparioN
Участник
 
84 / 15 (1) ++
Регистрация: 21.10.2014
Происходит копирование.

cell = rng.Offset(1, 0);
cell.CopyFromRecordset(rstAxa), rstAxa уже заполнен.

Я не отрицаю, может где-то и косяк. Хотя если заголовок сделать в 1 строку, то проблем нет.
Меня больше интересует вариативность поведения в зависимости от количества строк. Как будто там есть какой то ограничитель, на подобие количества столбцов, из-за которого поведение меняется.
Старый 22.06.2021, 14:12   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,427 / 1771 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
X++:
info(cell.Address());
Выведет нужное значение?
Старый 22.06.2021, 15:32   #5  
DesparioN is offline
DesparioN
Участник
 
84 / 15 (1) ++
Регистрация: 21.10.2014
В ходе проверки нашел причину: если cell = rng.Offset(1, 0); вызывается на родительском классе, то возвращается А2, если на дочернем - А3.

Почему так - загадка.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка при получении значения поля ADO Recordset RVS DAX: Программирование 2 08.03.2021 14:08
fatihdemirci: X++ Set Based Operations : Update_recordset Blog bot DAX Blogs 0 16.03.2019 06:40
Поговорим об ADO Gustav DAX: База знаний и проекты 63 11.05.2016 14:25
Перекрестные ссылки, update_recordset и insert_recordset Dark Light DAX: Программирование 8 05.10.2015 14:41
aEremenko: Update_RecordSet Blog bot DAX Blogs 16 19.04.2007 16:47
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:42.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.