Доброго всем дня.
Для облегчения работы потребовалось сделать импорт данных из Excel в базу данных Access (.mdb). И практически сразу возник вопрос, при открытии файла Excel выдает ошибку
Невозможно найти устанавливаемый ISAM. Файл для импорта открываю так
Код:
var
OpenDialog : TOpenDialog;
FName1, FName2: string;
fullFileName : string;
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ADOConnection1.Connected:=False;
Windows.MessageBeep(MB_ICONINFORMATION);
OpenDialog:= TOpenDialog.Create(self);
OpenDialog.InitialDir := '';
OpenDialog.Filter := 'Microsoft Excel 2003 (*.xls)|*.xls';
if OpenDialog.Execute then
begin
FName1 := OpenDialog.FileName;
LabeledEdit1.Text:=ExtractFileName(FName1);
ADOConnection1.ConnectionString:=
'Provider=Microsoft.ACE.OLEDB.12.0;' +
'Data Source='+LabeledEdit1.Text +';' +
'Extended Properties=Excel Files;'+
'DriverId=1046;'+
'MaxBufferSize=2048;'+
'PageTimeout=5';
ADOConnection1.Connected:=True;
end;
end;
При этом, если в
ADOConnection1.ConnectionString сразу указать путь к файлу для импорта, как тут
http://basicsprog.ucoz.ru/blog/2011-10-02-9, то ошибки нет, файл открывается и в базе (mdb) я вижу импортированные данные, и не важно есть в пути к файлу кириллица или нет. Меня такой подход не устраивает, хочется что бы была возможность указать самому файл. Использую Delphi 7. Microsoft Office 2010. Начал уже на офис, грешить, но если с путем к файлу указанном в exe работает, то офис тут не виноват. В прицепе как работаю с файлами, без импорта данных. В чем может быть проблема? Заранее благодарю за совет.