程序如下
Private Sub Command3_Click()
ExportExcelSheetToAccess "1", "C:\temp\1.csv", "TestTable", "C:\temp\1.mdb"
End Sub
Private Sub ExportExcelSheetToAccess(sSheetName As String, _
sExcelPath As String, sAccessTable As String, sAccessDBPath As String)
Dim db As Database
Dim rs As Recordset
Set db = OpenDatabase(sExcelPath , True, False, "Excel 5.0")
Call db.Execute("Select * into [;database=" & sAccessDBPath & "]." & _
sAccessTable & " FROM [" & sSheetName & "$]")
MsgBox "Table exported successfully.", vbInformation, "Yams"
End Sub
OpenDatabase中最后一个参数"Excel 5.0"只能对Excel文件操作。如果是CSV文件的话
就会报错。如果是CSV文件这个参数应该是什么?

解决方案 »

  1.   

    cvs本身是一个可以被excel使用的文件(你可以直接在excel中打开这个文件),如果你希望将这个文件转换成xls文件,请看如下代码:  Dim oExcel As Object
      Dim oBook As Object
      Dim oSheet As Object
      Set oExcel = CreateObject("Excel.Application")      
      Set oBook = oExcel.Workbooks.Open("d:\1.csv")  
      'Save as Excel workbook and Quit Excel
      oBook.SaveAs "d:\1.xls", xlWorkbookNormal
      oExcel.Quit 以上代码不知能否帮到你!
      

  2.   

    "Excel 5.0"改成: "Text"试试
      

  3.   

    excel:
    Set dbOpenFile = DBEngine.Workspaces(0).OpenDatabase(txtFile.Text, False, False, "Excel 8.0;")mdb:
    Set dbOpenFile = DBEngine.Workspaces(0).OpenDatabase(txtFile.Text, False, False, "")dbase\foxpro:
    Set dbOpenFile = DBEngine.Workspaces(0).OpenDatabase(GetPathName(txtFile.Text), False, False, "dBASE 5.0;")txt:
    Set dbOpenFile = DBEngine.Workspaces(0).OpenDatabase(GetPathName(txtFile.Text), False, False, "Text;")
      

  4.   

    csv文件用"Text;"不行提示路径下没有该文件
      

  5.   

    当用text类型时,注意参数!!
    ExportExcelSheetToAccess "1", "C:\temp\1.csv", "TestTable", "C:\temp\1.mdb"
    中"c:\temp\1.csv"改成"c:\temp\"
      

  6.   

    另外:Set db = OpenDatabase(sExcelPath , True, False, "Excel 5.0")
    改成:
    Set db = OpenDatabase(sExcelPath , True, False, "Text;")
      

  7.   

    如:将c:\test.txt导入到c:\a.mdb中的NewTempTable表中    Dim db As DAO.Database
     
       Set db = DBEngine.CreateDatabase("c:\a.mdb", dbLangGeneral)
        If Err.Number = 3204 Then
            Set db = Workspaces(0).OpenDatabase("c:\a.mdb")
        End If    db.Execute "SELECT * into NewTempTable FROM [Text;HDR=NO;DATABASE=C:\].test.txt"
        db.Close
        Set db = Nothing