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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.11.2006, 14:13   #1  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Наметилось пара глюков и один вообще не могу решить, может кто подскажет?
1. При определении колмчества листов в книге в цикле While(!sheet) надо поставить while(!sheets.EOF()), иначе почему-то выдает ошибку
2.А вот тут совсем проблеммы: Если в Ecxel файле установить автофильтр, а потом снять его и пробовать загрузить, то при ситывании перечень листов увеличивается на количество фильтров. Причем открыть нет никакой возможности естественно, как побороть это даже не знаю...
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 13.11.2006, 14:57   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от blokva Посмотреть сообщение
1. При определении колмчества листов в книге в цикле While(!sheet) надо поставить while(!sheets.EOF()), иначе почему-то выдает ошибку
Это не глюк. "Так надо!" (с) Бриллиантовая рука.
Открываем хелп по ADO и читаем оттуда:
Цитата:
Сообщение от туда
OpenSchema Method

Obtains database schema information from the provider.

Syntax
Set recordset = connection.OpenSchema (QueryType, Criteria, SchemaID)

Return Values
Returns a Recordset object that contains schema information. The Recordset will be opened as a read-only, static cursor.

Parameters
QueryType --- The type of schema query to run. Can be any of the constants listed below.
Criteria --- Optional. An array of query constraints for each QueryType option, as listed below.

QueryType values --- Criteria values
adSchemaTables --- TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE
Ваш COM sheets - это рекордсет. А для рекордсета переборный цикл вида WHILE NOT recordset.EOF - святое дело. Что в DAO, что в ADO.
Удивительно, как оно у Вас работало до этого... (или до этого еще толком не работало?)
Цитата:
Сообщение от blokva Посмотреть сообщение
2.А вот тут совсем проблеммы: Если в Ecxel файле установить автофильтр, а потом снять его и пробовать загрузить, то при ситывании перечень листов увеличивается на количество фильтров. Причем открыть нет никакой возможности естественно, как побороть это даже не знаю...
Иееххх... Честно говоря, не стал бы я файл, предназначенный для загрузки, разукрашивать всякими продвинутыми эксельными мулечками... И тем более потом анализировать, почему что-то не так происходит... И тем более, что контекст разный: Автофильтр - это Excel.Application, a Ваш sheets - это ADODB... На сколько именно эти COM'ы "синхронизированны" между собой в данный конкретный момент времени - одному Богу известно, и, строго говоря, они и не обязаны...
Может, ну его, такой "разбор полётов", и попробуем наконец классическим SQL'ем через UNION ?
Теги
ado, download, excel, импорт, полезное, axapta

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
gl00mie: Read Excel table via ADO Blog bot DAX Blogs 2 09.04.2010 08:32
dynamicsusers: DL Tips And Tricks: ADO Database Reader (Jet way) - Excel Example Blog bot DAX Blogs 0 02.08.2007 03:50
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, время: 15:54.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.