在VB6中,采用SQL方法,Select * from [表]
将Excel数据,送到数据集中,set rst = ??

解决方案 »

  1.   

    EXCEL表和数据库表是完全不同的概念,不能用select语句的,你只能用循环把EXCEL表里的数据一行行添加到SQL的表里。
      

  2.   

    SELECT   *   into   newtable   
        
      FROM   OpenDataSource(   'Microsoft.Jet.OLEDB.4.0',   
        
          'Data   Source="c:\book1.xls";User   ID=Admin;Password=;Extended   properties=Excel   5.0')...[Sheet1$]   
        
          
        
      实例:   
        
      SELECT   *   into   newtable   
        
      FROM   OpenDataSource(   'Microsoft.Jet.OLEDB.4.0',   
        
          'Data   Source="c:\Finance\account.xls";User   ID=Admin;Password=;Extended   properties=Excel   5.0')...xactions   
    只共参考
      

  3.   

    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.RecordsetSet cn = New ADODB.Connection
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\1.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
    Set rs = cn.Open("SELECT * FROM [sheet1$]")
    Debug.Print rs.GetString()
      

  4.   

    引用ADO 2.5Private Sub Command1_Click()
        Dim cn As ADODB.Connection
        Dim rs As ADODB.Recordset
        Set cn = New ADODB.Connection
        cn.CursorLocation = adUseClient
        cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\f1.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"
        Set rs = cn.Execute("Select * From [Sheet1$]")
        Set DataGrid1.DataSource = rs
        
    End Sub
      

  5.   

    谢谢.楼上各位的回复.
    看来现在用的这个Function是可行的.
    Function fileConnectRst(Sql As String, FileName) As ADODB.Recordset '通过Path连接Rst
        Dim Cnn As New ADODB.Connection
        Dim Rst As New ADODB.Recordset
        Cnn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;imex=1';data source=" & FileName
        Rst.Open Sql, Cnn, adOpenStatic
        Set fileConnectRst = Rst
    End Function