Читаем данные из Excel в Access выборочно

KrukVN
Дата: 27.11.2006 12:52:50
Прошу прощения за неимоверное количество букофф да еще в понедельник...
Есть лист Excel-файла с данными, расположенными согласно следующей структуры:
1. Наименование группы с шапкой таблицы (начало группы)
- 2. Наименование подгруппы (начало группы)
-- 3. Данные (область данных)
- 4. Итоги подгруппы (конец группы)
5. Итоги всей группы (конец группы)
4. Пропуск (1 строка между группами)

и так далее по такому вот циклу (всего заполненных строк 20-25 тысяч)
Задача: занести все эти данные в таблицу/ы Access
Сейчас это делаю тупым перебором екселевских ячеек:
    RecVelcom.AddNew
        RecVelcom!IshAb = .Cells(i, 1)
        RecVelcom!BizAb = .Cells(i, 2)
        RecVelcom!DateTimeRazg = .Cells(i, 3)
        ' и т.д.
    RecVelcom.Update
Но процесс идет достаточно долго.
Вопрос: можно ли увеличить скорость путем применения другого подхода в чтении/записи этих данных? (по строкам или блокам/регионам?)
Знаю что в Excel есть метод CopyFromRecordset который позволяет вставить записи в лист Excel из какого-нить рекордсета, начиная с определенной ячейки.
Так вот, может быть есть и обратный метод?
barrabas
Дата: 27.11.2006 12:55:25
SELECT A.*
FROM [Excel 8.0;DATABASE=C:\1.xls;HDR=YES;IMEX=2;].[Лист1$A1:N8] AS A;
KrukVN
Дата: 27.11.2006 13:47:24
Спасибо barrabas!
Решение простое и понятное
Ошибку только выдает какую-то, но думаю справлюсь :)
Senin Viktor
Дата: 27.11.2006 18:00:17
barrabas
SELECT A.*
FROM [Excel 8.0;DATABASE=C:\1.xls;HDR=YES;IMEX=2;].[Лист1$A1:N8] AS A;


необходимо ТОЧНО определить тип данных. есть еще ряд особенностей: http://sql.ru/forum/actualthread.aspx?tid=243221
KrukVN
Дата: 27.11.2006 18:28:45
Спасибо, уже учел
все пашет! я рад