我用ADO导入一个Excel,然后用ADOQuery连接source,在TDBGird显示,在ADOQuery把Active设置成true也能显示数据,可没次点运行,就会出现如下错误,我也没打开Excel啊,奇怪:工程project1.exe检测到错误类EOleException 错误信息:'Microsoft Jet 数据库引擎打不开文件''.它已经被别的用户以独占方式打开

解决方案 »

  1.   

    不是很明白的错误吗?Excel已经打开了,不能再次打开。
      

  2.   

      ConnectionStr= 'Provider=MSDASQL.1;Persist Security Info=False;Data Source=Excel Files;Initial Catalog=%S';
      QuerySqlStr= 'select %1:S as EmpNo,%2:S as KeyValue from [%0:S$] ';  with ADOQuery do
      begin
        ConnectionString:= Format(ConnectionStr,[Trim(edt_File.Text)]);
        SQL.Clear;
        SQL.Text:= Format(QuerySqlStr,[Trim(edt_Table.Text),Trim(edt_EmpNo.Text),Trim(edt_KeyValue.Text)]);
        try
          Active:= True;
        except
          on E:Exception do
          begin
            raise exception.Create(GetMsg('Open The Excel File Failed!')
              +chr(13)+e.Message);
          end;    end;
      end;
      

  3.   

    注意,打開Excel時, Excel文件不能被Office打開。
      

  4.   

    可是我没有同时用office打开啊