建立与Excel文件的连接时无法识别的数据库格式

我正在尝试构建一个外接程序,该外接程序将建立到可选数据库(excel或访问文件)的连接。

可以访问,但是尝试使用Excel文件时会发生以下错误:

  

“无法识别的数据库格式”

Sub export_data()
    Dim conn As ADODB.Connection
    Dim flg As FileDialog
    Dim dtpth As String


    Set flg = Application.FileDialog(msoFileDialogFilePicker)
    With flg
        .AllowMultiSelect = False
        .Filters.Clear
        .Filters.Add Description:="Database file type",Extensions:="*.xls,*.xlsx,*.xlsm,*.accdb"
        .Filters.Add Description:="All types",Extensions:="*.*"
        .Title = "Chon file database"
        If .Show = -1 Then
            dtpth = .SelectedItems(1)
            Sheet2.Range("A1").Value = dtpth
        End If
    End With

    Set conn = New ADODB.Connection
    With conn
        .Provider = "microsoft.ACE.OLEDB.12.0"
        If Sheet2.Range("A2").Value = "*ls*" Then
            .ConnectionString = "Data Source=" & dtpth & "Extended properties='Excel 16.0 xml;HDR=Yes;IMEX=1';"
            .Open
        Else
            .ConnectionString = "Data Source=" & dtpth & ";"
            .Open
        End If
    End With

End Sub

因为我是本节的新手,所以我无法自己调试代码 您能否指出导致代码错误的原因?我尝试在某处进行研究,但大多数都无法访问

非常感谢您

youpegn 回答:建立与Excel文件的连接时无法识别的数据库格式

您在连接字符串中缺少分号,如果文件名包含空格,则可能用引号引起来。

.ConnectionString = "Data Source=" & dtpth & "Extended properties='Excel 16.0 xml;HDR=Yes;IMEX=1';"

应该看起来像

.ConnectionString = "Data Source='" & dtpth & "';Extended properties='Excel 16.0 xml;HDR=Yes;IMEX=1';"

Here's是可能的连接字符串格式的很好参考。

本文链接:https://www.f2er.com/3154138.html

大家都在问