如何将XLS的数据导入到mdb数据库中!

解决方案 »

  1.   

    用ADO读取XLS,再保存到MDB中即可
    或者创建EXCEL对象,直接读取CELL中的TEXT值,再保存也行
      

  2.   

    请使用 DoCmd 对象的 TransferSpreadsheet 方法,具体请查阅access的帮助文件
      

  3.   

    Private Sub ExcelSheetToAccess(sSheetName As String, sExcelPath As String, sAccessTable As String, sAccessDBPath As String)
    Dim cn As ADODB.Connection, rs As ADODB.Recordset
    Dim sSQL As StringOn Error Resume Next
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sAccessDBPath
    rs.Open "Select * From " & sAccessTable, cnIf Err.Number Then
     sSQL = "Select * Into " & sAccessTable & " FROM [" & sSheetName & "$] In """ & sExcelPath & """ ""EXCEL 5.0;"""
    Else
     sSQL = "Insert Into " & sAccessTable & " Select * FROM [" & sSheetName & "$] In """ & sExcelPath & """ ""EXCEL 5.0;"""
    End Ifrs.Closecn.Execute sSQLcn.CloseSet rs = Nothing
    Set cn = Nothing
    End Sub使用范例如下:將 C:\book1.xls 中的 Sheet1 导入 C:\Test.mdb 成为 TestTableExcelSheetToAccess "Sheet1", "C:\book1.xls", "TestTable", "C:\Test.mdb"
      

  4.   

    要引用Microsoft ActiveX Data Object 2.6 Library
      

  5.   

    把楼上的代码改成以下就不用引用Private Sub ExcelSheetToAccess(sSheetName As String, sExcelPath As String, sAccessTable As String, sAccessDBPath As String)
    Dim cn As object, rs As object             '修改了
    Dim sSQL As StringOn Error Resume Next
    set cn=createObject("ADODB.Connection")      '加了
    set rs=createObject("ADODB.Recordset")       '加了
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sAccessDBPath
    rs.Open "Select * From " & sAccessTable, cnIf Err.Number Then
     sSQL = "Select * Into " & sAccessTable & " FROM [" & sSheetName & "$] In """ & sExcelPath & """ ""EXCEL 5.0;"""
    Else
     sSQL = "Insert Into " & sAccessTable & " Select * FROM [" & sSheetName & "$] In """ & sExcelPath & """ ""EXCEL 5.0;"""
    End Ifrs.Closecn.Execute sSQLcn.CloseSet rs = Nothing
    Set cn = Nothing
    End Sub使用范例如下:將 C:\book1.xls 中的 Sheet1 导入 C:\Test.mdb 成为 TestTableExcelSheetToAccess "Sheet1", "C:\book1.xls", "TestTable", "C:\Test.mdb"