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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.02.2007, 21:26   #1  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Импорт из 'офисной БД' (Excel, Access)
Уважаемые коллеги,

Наконец-то более-менее вразумительно оформилась моя новая поделочка-хотелочка на тему импорта в Axapta. И я рад, что это случилось сегодня, а не завтра, в предпраздничный день...

Итак, позвольте ее представить. Поделочка представляет собой семейство классов (аж!), в состав которого входят:
один класс-родитель, объединяющий общие операции:
-- ImportFromOfficeAbstractDB
и три класса-"потомка", представляющих собой "импорты" из конкретных приложений (Excel, Access) с использованием конкретной технологии (ADO, DAO):
-- ImportFromOfficeExcelByADODB
-- ImportFromOfficeAccessByADODB
-- ImportFromOfficeAccessByDAO
Смысл каждого класса, я думаю, понятен из практически исчерпывающих идентификаторов (я использовал пятибуквенное ADODB вместо трехбуквенного ADO в целях лучшего визуального контраста с трехбуквенным DAO).

В основу семейства (т.е. в основу класса-"родителя") положен уже известный класс ExcelImportADO, разработанный gl00mie в теме Вспомогательный класс для импорта из Excel через ADO. И за него gl00mie - большое спасибо! Также хотелось бы поблагодарить blokva за его активное и конструктивное участие в обсуждении "базового" класса gl00mie.

Я спешу зафиксировать копирайты этих коллег на соответствующие и существенные фрагменты кода в моей поделочке, которые были заимствованы из "базового" класса, а также на английские комментарии gl00mie - их я постарался максимально деликатно сохранить. И даже, войдя во вкус, сам добавил немного английской отсебятины. Надеюсь, понять ее будет несложно. Но приготовьтесь - в проекте нет ни слова по-русски (ну, может быть, за исключением фразы типа «выгружен тогда-то»). Интерфейсные методы трех наследников практически полностью совпадают с методами «базового» класса - как по наименованию, так и по составу параметров. И самое главное - практически полностью совпадает технология работы с этими методами.

Возможности, которые доступны в поделочке и которые нравятся мне самому:
-- задействование (наконец-то!) для "больших дел" своего любимого Access'а;
-- доступность в связи с этим задействованием настоящего целого типа данных Long (а не только одного Double, как в ADO для Excel);
-- возможность задания в качестве источника записей не только имени конкретной таблицы (листа), но и произвольного SQL-запроса в синтаксисе Jet SQL; можно, например, заджойнить два excel'ных листа (упс!); это реализация хотелки, о которой я мечтал здесь;
-- при использовании импорта из mdb-файла имеем дело с более строгой типизацией данных - нет необходимости следить за "первыми 8 строками" (как неохотно выяснялось здесь) - мы просто задаем тип соответствующего поля таблицы по своему желанию.

Уф! Пока на этом закончу. Даже не буду объяснять, что нужно сделать для прогона демопримеров – проверим, насколько мне можно доверять написание мало-мальски понятных текстов на английском языке. Пожалуйста, следуйте кратким инструкциям внутри файла проекта, если что - спрашивайте.
Вложения
Тип файла: xpo ImportFromOfficeDB.xpo (41.0 Кб, 711 просмотров)
За это сообщение автора поблагодарили: Peter Savintsev (2), blokva (2), belugin (14), kvg6 (1), Hans (1), gl00mie (4).
Теги
access, ado, axapta, dao, download, excel, faq, законченный пример, импорт, полезное

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Построчный импорт из Excel через COM _and DAX: Программирование 3 05.07.2011 14:05
Построчный импорт из Excel через COM olesh DAX: Программирование 20 23.10.2008 14:01
Импорт бюджета из Excel OliaM DAX: Функционал 16 13.01.2005 21:56
Проблем импорт из Excel dreshkov DAX: Функционал 1 20.08.2003 16:34
OLAP: Импорт в Excel Hamster DAX: Функционал 2 23.06.2003 07:51

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

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

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