我正在建立从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;"""