阅读背景:

关于OpenDatabase中参数的含义

来源:互联网 
程序如下
Private Sub Command3_Click()
ExportExcelSheetToAccess "1", "C:\temp
程序如下
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文件这个参数应该是什么?

8 个解决方案

#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


UP

#4


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;")

#5


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

#6


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

#7


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

#8


如:将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

.csv", "TestTable", "C:\temp
程序如下
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文件这个参数应该是什么?

8 个解决方案

#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


UP

#4


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;")

#5


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

#6


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

#7


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

#8


如:将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

.mdb" ExportExc



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: