 <p>This is just a quick hack. I don't have enough information to refine the code. But is should definitely point you in the right direction. <br /> Your code was trying to connect to the Excel Spreadsheet. The proper way is to connect to your database and use conn.execute to run your queries. </p> <pre><code>Sub TransferSpreadsheet() Dim destinationTable As String, rangeAddress As String, SqlQuery As String Dim conn Set conn = CreateObject("ADODB.Connection") conn.Provider = "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;" conn.Open "C:\Users\tinzina\Datafiles\Spotlights.accdb" destinationTable = "TempTable" rangeAddress = getTableAddress("Sheet1") ExportExceltoAccessTable ThisWorkbook.Name, conn, destinationTable ' SqlQuery is the name of a "Saved Query" in your database 'The "Saved Query" will insert the records from TempTable into whatever table you want SqlQuery = "" conn.Execute SqlQuery End Sub Private Sub ExportExceltoAccessTable(conn, destinationTable, rangeAddress) On Error Resume Next conn.Execute "DROP TABLE " &amp; destinationTable &amp; ";" On Error GoTo 0 SqlQuery = "SELECT * INTO " &amp; destinationTable &amp; " FROM [Excel 8.0;HDR=YES;DATABASE=" &amp; ThisWorkbook.FullName &amp; "]." &amp; rangeAddress conn.Execute SqlQuery End Sub Public Function getTableAddress(wsSheetName) Dim r As range Set r = Worksheets(wsSheetName).UsedRange getTableAddress = "[" &amp; r.Worksheet.Name &amp; "$" &amp; r.Address(False, False) &amp; "]" End Function </code></pre> <p>Let me know if you have any questions</p>