|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите с импортом из Excel в Access
Проблема в том что мне я хочу имотртировать из столбца в екселе в столбец accessa, но т.к в этом столбце каждый раз будет различное число строк, мне нужно автоматизировать этот процесс. Чтобы он добалял строки из столбца A до тех пор пока этот стобец не станет пустым.Я так понимаю тут нужно будет цикл написать? Вот мой текущий код:
Код:
var Ap:Variant; begin Ap := CreateOleObject('Excel.Application'); Ap.Workbooks.Open('C:/321.xls'); ADOQuery1.Append; ADOQuery1.FieldByName('наименование').AsString:=Ap.Range[A1]; Код:
var Ap:Variant; A:integer; b:string; begin A:=1; b:=ADOQuery1.FieldByName('наименование').AsString; while b<>'' do begin A:=A+1; Ap := CreateOleObject('Excel.Application'); Ap.Workbooks.Open('C:/321.xls'); ADOQuery1.Append; ADOQuery1.FieldByName('наименование').AsString:=Format('Ap.Range['A%s']',[A]); Application.ProcessMessages; end; end; |
#2
|
||||
|
||||
Код:
Format('Ap.Range[%s]',[A]); — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
Одна проблема отпала)) ADOQuery1.FieldByName('наименование').AsString:=Fo rmat('Ap.Range['A%s']',[A]);
Заместо %s должно быть %d. Но теперь он говорит что "Система Office обнаружила проблему с этим файлом. Чтобы обеспечить защиту компьютера этот файл не будет открыт." |
#4
|
|||
|
|||
Цитата:
|