在VB中如何才能将ACCESS数据库的表导成excel,

解决方案 »

  1.   

    '把Access表的数据导入Excel里(需要引用ADO):Private Sub Command1_Click()
        Dim cnAccess As New ADODB.Connection, cnExcel As New ADODB.Connection, rsAccess As New ADODB.Recordset, rsExcel As New ADODB.Recordset, i%    '打开Access数据库的连接,具体的需要改一下
        cnAccess.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Test.mdb;Persist Security Info=False"
        rsAccess.CursorLocation = adUseClient    '获取Access里的Table1的所有记录,准备导出入Excel
        rsAccess.Open "select  * from table1", cnAccess, adOpenDynamic, adLockReadOnly   '连接Excel
        cnExcel.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.xls;Extended Properties=Excel 8.0"
        rsExcel.CursorLocation = adUseClient
        '打开Excel的Sheet1表,准备导入数据
        rsExcel.Open "select * from [Sheet1$]", cnExcel, adOpenDynamic, adLockPessimistic    rsAccess.MoveFirst
        While Not rsAccess.EOF
            rsExcel.AddNew
            For i = 0 To rsAccess.Fields.Count - 1
                rsExcel(i) = rsAccess(i) '给Excel的记录集赋值
            Next
            rsAccess.MoveNext
        Wend
        rsExcel.UpdateBatch '批量更新记录集    Set rsAccess = Nothing
        Set rsExcel = Nothing
        cnAccess.Close
        Set cnAccess = Nothing
        cnExcel.Close
        Set cnExcel = NothingEnd Sub
      

  2.   

    首先通過一數據集得到Access的某Table的資料
    如:Dim Rst As New ADODB.Recordset
       Dim Sql as string 
    sql="select * from table"
    然後
    Dim objExcel As Excel.Application
    Dim objBook As Excel.Workbook
    Dim objSheet As Excel.Worksheet
    Set objExcel = CreateObject("Excel.Application")
    Set objBook = objExcel.Workbooks.Add '新增檔
    objExcel.Visible = True
    Set objSheet = objBook.Worksheets(1)
    objSheet.Cells.CopyFromRecordset Rst
    這樣就檔以把Access中某Table的的資料全部導入Excel中
      

  3.   

    没那么复杂,Excel 是 Jet 数据引擎所支持的外部数据库:首先在 Access 数据库上打开一个 Connection 对象(例如 cn)。cn.Execute "Insert Into [EXCEL 5.0;DATABASE=" & strExcelPathName & "].[ExcleTableName] Select * From AccessTableName"
      

  4.   

    ACCESS本身就可以和EXCEL交互,直接调用他本身的方法就行了。