我准备把存放在excel中的英语词库导入到access中,用下列语句一直有问题,谁帮我看看
procedure TForm1.Button1Click(Sender: TObject);
var
  str:string;
begin
  //str:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\2008英语大纲.xls;Extended Properties="Excel 8.0;HDR=YES; IMEX=1";Persist Security Info=False';
  ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\数据库\英语词汇.mdb';
  ADOConnection1.Connected:=true;
  ADOQuery1.Close;
  //ADOQuery1.SQL.Text:='select * from [Sheet1$]';
  ADOQuery1.SQL.Text:='select * into 英语词库 from [Microsoft.Jet.OLEDB.4.0;Data Source=e:\2008英语大纲.xls;Extended Properties="Excel 8.0;HDR=YES; IMEX=1";Persist Security Info=False].[Sheet1$]';
  //ADOQuery1.SQL.Text:='select * into 英语词库 from [excel 8.0;database=e:\2008英语大纲.xls].[Sheet1$]';
  ADOQuery1.ExecSQL;
  //ADOQuery1.First;
end;access数据库名称为:
G:\数据库\英语词汇.mdb
里面的数据表为英语词库excel文件名为:
e:\2008英语大纲.xls
数据存放在Sheet1工作表中

解决方案 »

  1.   

    好飘逸的一句SQL  ADOQuery1.SQL.Text:='select * into 英语词库 from [Microsoft.Jet.OLEDB.4.0;Data Source=e:\2008英语大纲.xls;Extended Properties="Excel 8.0;HDR=YES; IMEX=1";Persist Security Info=False].[Sheet1$]';
      end;
      

  2.   

    在access里面可以直接导入吧,必须用程序导入么?
      

  3.   

    这个用两个Connection吧?一个连MDB,一个连EXCEL,一个QUERY把EXCEL中的数据SELECT出来,现在有了数据集了,导入就没问题了,直接好像不行
      

  4.   

    就是要用程序导入的你那个是循环导入的,我要的是用SQL语句导入
      

  5.   

    SELECT * from [Sheet1$] in "e:\2008英语大纲.xls" "EXCEL 8.0;"
      

  6.   


    ADOQuery1.SQL.Text:='SELECT * into 英语词库1 from [Sheet1$] in "e:\2008英语大纲.xls" "EXCEL 8.0;"';上面这句好了,谢谢goodhj
      

  7.   

    我刚做了个excel导入到SQL,用的adotable没用adoquery,那个excel表的格式真是无敌了,一个单元格写了N多数据,害我在那算字段长度,算的我头晕