我的源码如下:
   Dim sArrFile As String    
    Dim cn As New ADODB.Connection  
    Dim strsql As String    
    CommonDialog1.Filter = "excel文件|*.xls|exe文件|*.exe|<所有文件 [*.*]>|"  
    CommonDialog1.ShowOpen
    sArrFile = CommonDialog1.filename   
'*我在此将得到的文件名赋给一个变量sArrFile,欲将后面的"Data Source=e:\book1.xls"中的"e:\book1.xls"替换为该文件的路径名sArrFile ,也就是"Data Source=sArrFile "但是程序执行不了,请问这个句子该如何写啊?下面代码的意思是:将浏览框得到的excel文件插入到数据库中
    cn.CursorLocation = adUseClient
    cn.Open "Provider=MSDataShape;Data Provider=SQLOLEDB.1;Password=;Persist Security Info=False;User ID=sa;Initial Catalog=first;Data Source=127.0.0.1"
    strsql = "SELECT * INTO ciq_main FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source=e:\book1.xls;Extended Properties=Excel 8.0')...[Sheet1$]"
    cn.Execute strsql, , adExecuteNoRecords
    cn.Close
    Set cn = Nothing我的问题就是在代码中说明的那样,如何将浏览框得到的文件路径一合适的方法赋给"Data Source=",我在代码中已经详细说明了.

解决方案 »

  1.   

    '改成这样
    strsql = "SELECT * INTO ciq_main FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source=" & sArrFile & ";Extended Properties=Excel 8.0')...[Sheet1$]"
      

  2.   

    这样改试试:
    strsql = "SELECT * INTO ciq_main FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0'," & "'" & "Data Source=" & sArrFile & ";Extended Properties=Excel 8.0" & "'" & ")...[Sheet1$]"
    楼主的错误在于把后面的一对单引号分开在两个字符串里面了