代码如下: 
     adoq.ParamCheck := false;
      sqls := 'insert INTO ' + wtname + ' (' + s1 + ') select ' + s2 + ' FROM OPENROWSET(''' + 'Microsoft.Jet.OLEDB.4.0' + ''',''' + 'Excel 8.0;Database=' + od.FileName + '''' + ', ' + sTableName + ')';
      adoq.Close;
      adoq.SQL.Clear;
      adoq.SQL.Add(sqls);
      adoq.ExecSQL;执行上边语句时出FROM语句有语法错误
执行时的SQl语句如下
'insert INTO info_khda (tel2,tel2) select 张,李 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=D:\我的文档\新建 Microsoft Excel 工作表.xls', [Sheet1$])'

解决方案 »

  1.   

    比较典型的SQL语句拼接错误。请楼主调整SQL拼接语句,注意单引号。
      

  2.   

    不会啊,这段代码,我是从我的另一个程序,复制出来的,不过那个是由EXCEL导入SQL,没有问题啊,就是放到这里有问题
      

  3.   

     OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=D:\我的文档\新建 Microsoft Excel 工作表.xls'  ACCESS数据库不支持 SQL语句中 连接数据库.
        要连接的话.adoq.ConnectionString :='Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=D:\我的文档\新建 Microsoft Excel 工作表.xls', [Sheet1$]'  数据库要先连接
      

  4.   

    你读ACCESS还用EXCEL的驱动...
    openrowset('Microsoft.Jet.OLEDB.4.0','x:\A.mdb';'admin';'',A表)   
    看看SQL帮助
      

  5.   

    我是把EXCEL读入到ACCESS里openrowset('Microsoft.Jet.OLEDB.4.0','x:\A.mdb';'admin';'',A表) 是用来打开EXCEL表的
      

  6.   

    http://topic.csdn.net/u/20100125/17/75c56665-8f49-4b26-b82d-19f795ad8298.html
    用这个方法好了
      

  7.   

    openrowset 熟悉而又佰生...好像SQL SERVER 2005 才支持的一个什么函数.....
      

  8.   

    SQL Server的语法 ACCESS不支持
      

  9.   

    1.                   在SQL   SERVER里查询access数据:--   ======================================================SELECT   *   FROM   OpenDataSource(   'Microsoft.Jet.OLEDB.4.0','Data   Source="c:\DB.mdb";User   ID=Admin;Password=')...表名
    -------------------------------------------------------------------------------------------------  2.                   将access导入SQL   server   --   ======================================================在SQL   SERVER   里运行:SELECT   *INTO   newtableFROM   OPENDATASOURCE   ('Microsoft.Jet.OLEDB.4.0',               'Data   Source="c:\DB.mdb";User   ID=Admin;Password='   )...表名
    -------------------------------------------------------------------------------------------------   3.                   将SQL   SERVER表里的数据插入到Access表中--   ======================================================在SQL   SERVER   里运行:insert   into   OpenDataSource(   'Microsoft.Jet.OLEDB.4.0',    'Data   Source="   c:\DB.mdb";User   ID=Admin;Password=')...表名   (列名1,列名2)select   列名1,列名2     from     sql表
    实例:insert   into     OPENROWSET('Microsoft.Jet.OLEDB.4.0',         'C:\db.mdb';'admin';'',   Test)   select   id,name   from   TestINSERT   INTO   OPENROWSET('Microsoft.Jet.OLEDB.4.0',   'c:\trade.mdb';   'admin';   '',   表名)SELECT   *FROM   sqltablename
    -------------------------------------------------------------------------------------------------二、                       SQL   SERVER   和EXCEL的数据导入导出1、在SQL   SERVER里查询Excel数据:--   ======================================================SELECT   *   FROM   OpenDataSource(   'Microsoft.Jet.OLEDB.4.0','Data   Source="c:\book1.xls";User   ID=Admin;Password=;Extended   properties=Excel   5.0')...[Sheet1$]
    下面是个查询的示例,它通过用于   Jet   的   OLE   DB   提供程序查询   Excel   电子表格。SELECT   *   
    FROM   OpenDataSource   (   'Microsoft.Jet.OLEDB.4.0',
        'Data   Source="c:\Finance\account.xls";User   ID=Admin;Password=;Extended   properties=Excel   5.0')...xactions
    -------------------------------------------------------------------------------------------------2、将Excel的数据导入SQL   server   :--   ======================================================SELECT   *   into   newtableFROM   OpenDataSource(   'Microsoft.Jet.OLEDB.4.0',    'Data   Source="c:\book1.xls";User   ID=Admin;Password=;Extended   properties=Excel   5.0')...[Sheet1$]
    实例:SELECT   *   into   newtableFROM   OpenDataSource(   'Microsoft.Jet.OLEDB.4.0',    'Data   Source="c:\Finance\account.xls";User   ID=Admin;Password=;Extended   properties=Excel   5.0')...xactions
    -------------------------------------------------------------------------------------------------3、将SQL   SERVER中查询到的数据导成一个Excel文件--   ======================================================T-SQL代码:EXEC   master..xp_cmdshell   'bcp   库名.dbo.表名out   c:\Temp.xls   -c   -q   -S"servername"   -U"sa"   -P""'
    参数:S   是SQL服务器名;U是用户;P是密码说明:还可以导出文本文件等多种格式实例:
    EXEC   master..xp_cmdshell   'bcp   saletesttmp.dbo.CusAccount   out   c:\temp1.xls   -c   -q   -S"pmserver"   -U"sa"   -P"sa"'  EXEC   master..xp_cmdshell   'bcp   "SELECT   au_fname,   au_lname   FROM   pubs..authors   ORDER   BY   au_lname"   queryout   C:\   authors.xls   -c   -Sservername   -Usa   -Ppassword'
    在VB6中应用ADO导出EXCEL文件代码:   Dim   cn     As   New   ADODB.Connectioncn.open   "Driver={SQL   Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"cn.execute   "master..xp_cmdshell   'bcp   "SELECT   col1,   col2   FROM   库名.dbo.表名"   queryout   E:\DT.xls   -c   -Sservername   -Usa   -Ppassword'"-------------------------------------------------------------------------------------------------
    4、在SQL   SERVER里往Excel插入数据:
    --   ======================================================
    insert   into   OpenDataSource(   'Microsoft.Jet.OLEDB.4.0','Data   Source="c:\Temp.xls";User   ID=Admin;Password=;Extended   properties=Excel   5.0')...table1   (A1,A2,A3)   values   (1,2,3)
    T-SQL代码:
    INSERT   INTO       OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',       'Extended   Properties=Excel   8.0;Data   source=C:\training\inventur.xls')...[Filiale1$]       (bestand,   produkt)   VALUES   (20,   'Test')     
    -------------------------------------------------------------------------------------------------总结:利用以上语句,我们可以方便地将SQL   SERVER、ACCESS和EXCEL电子表格软件中的数据进行转换,为我们提供了极大方便!把文本文件导入到ACCESS
    在Form上放一个ADOConnection,连结指向目标Access库
    比如txt文件在c:\temp\aaaa.txt
    就执行
    ADOConnection.Connected   :=   True;
    ADOConnection.Execute('Select   *   Into   abcd   From   [Text;Database=c:\temp].aaaa.txt');=============================================================================================把DBF(Foxpro数据库)导入到SQLSERVER
    告诉你一个最快的方法,用SQLServer连接DBF(Foxpro数据库)
    在SQLServer中执行
    SELECT   *   into   bmk
    FROM   OpenDataSource('Microsoft.Jet.OLEDB.4.0,
      'Data   Source="e:\share";User   ID=Admin;Password=;Extended   properties=dBase   5.0')...bmk