Здравствуйте мне нужно загрузить данные из Excel в Access
использую следующий код (поячеечная загрузка):
var
ea:variant;
row,count:integer;
i: word;
begin
ea:=CreateOleObject('Excel.Application'); //Задубасить Ole обьект типа Eксель
ea.Workbooks.Open(opendialog1.FileName); //Открываем нужную нам книгу
ea.Visible:=false;// Скрываем, если конечно нужно
row:=ea.ActiveSheet.UsedRange.Rows.Count;// Смотрим сколько заюзаных строк
for i:=1 to row do begin // Начинаем цикл
adotable2.Append; // Добавляем в таблицу новую запись
// сдесь вносим в таблицу каждое значение отдельно
adotable2.Fields[0].Value:=ea.Sheets[1].Cells[i,1].Text;
adotable2.Fields[1].Value:=ea.Sheets[1].Cells[i,2].Text;
adotable2.Fields[2].Value:=ea.Sheets[1].Cells[i,3].Text;
adotable2.Fields[3].Value:=ea.Sheets[1].Cells[i,4].Text;
adotable2.Fields[4].Value:=ea.Sheets[1].Cells[i,5].Text;
adotable2.Fields[5].Value:=ea.Sheets[1].Cells[i,6].Text;
adotable2.Fields[6].Value:=ea.Sheets[1].Cells[i,7].Text;
adotable2.Fields[7].Value:=ea.Sheets[1].Cells[i,8].Text;
application.ProcessMessages; // ЭТО ОБЯЗАТЕЛЬНО, ЕСЛИ НЕ ХОТИМ ВИСЕТЬВО ВРЕМЯ ВЫПОЛНЕНИЯ!!!!!!!!!!!!
end;
adotable2.Post; // Сохраняем полученое в базе
ea.quit; // Выходим из Екселя
adotable2.First; // Переходим на первую запись
end;
в таблице 6000 записей отрабатывает очень долго.
посоветуйте как ускорить процесс.