21.02.2007, 21:26 | #1 |
Moderator
|
Импорт из 'офисной БД' (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 строками" (как неохотно выяснялось здесь) - мы просто задаем тип соответствующего поля таблицы по своему желанию. Уф! Пока на этом закончу. Даже не буду объяснять, что нужно сделать для прогона демопримеров – проверим, насколько мне можно доверять написание мало-мальски понятных текстов на английском языке. Пожалуйста, следуйте кратким инструкциям внутри файла проекта, если что - спрашивайте. |
|
|
За это сообщение автора поблагодарили: Peter Savintsev (2), blokva (2), belugin (14), kvg6 (1), Hans (1), gl00mie (4). |
Теги |
access, ado, axapta, dao, download, excel, faq, законченный пример, импорт, полезное |
|
Похожие темы | ||||
Тема | Ответов | |||
Построчный импорт из Excel через COM | 3 | |||
Построчный импорт из Excel через COM | 20 | |||
Импорт бюджета из Excel | 16 | |||
Проблем импорт из Excel | 1 | |||
OLAP: Импорт в Excel | 2 |
|