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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.07.2006, 09:27   #11  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Swetik
Gustav, подскажите, как можно довавить формулу(вычисляемый столбец) при выводе данных с помощью ADO?
Вариантов с вычисляемым столбцом может быть два:
1. Или Вы всё вычисляете в Аксапте и в Excel подаете уже вычисленное значение (это вариант, видимо, Вас не интересует в силу своей и так понятности)
2. Или Вы выводите все данные в Excel и у же в нём потом начинаете наводить финальный порядок: форматируете, добавляете формулы и т.п. ("форматируете, добавляете" конечно же кодом X++ из Аксапты) - думаю, что Вам интересен именно этот вариант.

Для добавления формулы в Excel используйте свойство FormulaR1C1 объекта Range. И нотацию формул в стиле R1C1, а не традиционную A1. Это позволит Вам написать одну единственную формулу для всего столбца.

Запишите в Excel процесс создания формулы макрорекордером и проанализируйте код VBA - уверен, всё станет понятно. Если что, обращайтесь - разберемся дальше.

Полезно сделать еще вот что. Допустим есть такая табличка Excel:
Код:
A  B  C
----------------------
1  2  =A1+B1
2  4  =A2+B2
3  6  =A3+B3
4  8  =A4+B4
5 10  =A5+B5
Формулы в столбец С были введены традиционно, т.е. сначала в ячейку С1 была введена формула =A1+B1, а потом скопирована в остальные ячейки столбца C.
Теперь выполним команду меню Excel: Сервис/Параметры/Общие/галка "Стиль ссылок R1C1" - установить. Таблица несколько преобразится:
Код:
1  2  3
-----------------------
1  2  =RC[-2]+RC[-1]
2  4  =RC[-2]+RC[-1]
3  6  =RC[-2]+RC[-1]
4  8  =RC[-2]+RC[-1]
5 10  =RC[-2]+RC[-1]
Обратите внимание, что в столбце C теперь присутствует идеальная с нашей точки зрения формула, общая для всех ячеек.
Из кода VBA ее можно ввести, например, с помощью такого оператора (разом в весь диапазон!):
Код:
Range("C1:C5").FormulaR1C1 = "=RC[-2]+RC[-1]"
Перевести ее на X++, думаю, не составит большого труда

Последний раз редактировалось Gustav; 26.07.2006 в 09:51.
Теги
ado, comvariant, excel, faq, odbc, sql, интеграция, прямой доступ, формат дат, экспорт, экспорт в excel

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вспомогательный класс для импорта из Excel через ADO gl00mie DAX: База знаний и проекты 80 10.04.2017 10:55
gl00mie: Read Excel table via ADO Blog bot DAX Blogs 2 09.04.2010 08:32
C# and AX Development: Using ADO for interfacing AX with an external database Blog bot DAX Blogs 0 05.08.2008 05:18
casperkamal: Using ADO to read from Excel in Microsoft Dynamics Ax Blog bot DAX Blogs 2 14.05.2007 11:59

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:42.