我正在建立从Excel模板文件到MsAccess数据库的oledb连接。我想提示用户输入数据库的路径。它工作得很好,只是没有导入标头。我发现我必须在连接字符串中添加HDR=YES,但每次尝试都会出现错误“找不到可安装的ISAM”?请指教。
Sub ConnectToDataDatabase()
Const Path = "C:\"
Dim fd As FileDialog
Dim i As Integer
'Dim strfName As String
Dim strPath As String
Dim strProv As String
Dim strConn As String
Dim conn As New Connection
Dim rsQry As New Recordset
Dim strQry As String
Dim strHeaders As String
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.Title = "Select 1 DataDatabase File"
fd.InitialFileName = Path
i = fd.Show
fd.Filters.Clear
fd.Filters.Add "Acces files", "*.accdb"
If i <> -1 Then
MsgBox "You Cancelled, try again later"
Else
'strfName = Right$(fd.SelectedItems(1), Len(fd.SelectedItems(1)) - InStrRev(fd.SelectedItems(1), "\"))
strPath = fd.SelectedItems(1)
End If
strProv = "Microsoft.ACE.OLEDB.12.0;"
strConn = "Provider=" & strProv & "Data Source=" & strPath
conn.Open strConn
strQry = "Select * from Tbl_Import"
rsQry.Open strQry, conn
Sheet1.Range("A1").CopyFromRecordset rsQry
End Sub
尝试:
'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\MyExcel.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1;";
'Provider=Microsoft.ACE.OLEDB.12.0;Excel 12.0 Xml;Data Source=P:\ath\to\excel\worksheet.xlsx;HDR=Yes
'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES"
'im connStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\rawData.xlsx;Extended Properties=""Excel 12.0 XML;"""