Export Excel Range to Access
'Following is a very simple piece of code to Export an Excel range to Access. 'Run the procedure ExportToAccess. Copy the complete code given below: Option Explicit 'Goto Menu - Tools->References and add reference to Microsoft ActiveX Data Objects 2.x Library Dim objConnection As ADODB.Connection Sub ConnectToDatabase(strDBpath As String) Set objConnection = New ADODB.Connection objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _ "Data Source=" & strDBpath End Sub Sub ExportToAccess(rngData As Range, Optional blnHeader As Boolean = False) Dim rstTable As ADODB.Recordset Dim lngRow As Long Dim lngCol As Long Dim strDB As String Dim strTable As String Dim intStartRow As Integer If blnHeader = False Then intStartRow = 1 Else intStartRow = 2 End If '---------------------User Inputs------------------------------- 'Provide database path strDB = "C:\ABC\Temp.mdb" 'Provide SQL Query or Table name from database strTable = "Employee" '=============================================================== 'Establish Database connection On Error GoTo ErrH Call ConnectToDatabase(strDB) Set rstTable = New ADODB.Recordset rstTable.Open strTable, objConnection, adOpenKeyset, adLockOptimistic, adCmdTable 'Check if No of data columns are same as No. of fields in database If rngData.Columns.Count <> rstTable.Fields.Count Then MsgBox "No. of columns in data is different from no. of fields in DB table", vbCritical, "Export Error" GoTo ExitH End If For lngRow = intStartRow To rngData.Rows.Count With rstTable .AddNew For lngCol = 0 To (.Fields.Count - 1) .Fields(lngCol) = rngData.Cells(lngRow, lngCol + 1).Value Next lngCol .Update End With Next lngRow On Error GoTo 0 GoTo ExitH ErrH: If objConnection.State = 1 Then rstTable.CancelUpdate MsgBox Err.Number & vbCrLf & Err.Description, vbCritical, "Export Error" ExitH: If objConnection.State = 1 Then rstTable.Close Set rstTable = Nothing End Sub Sub CloseDB() objConnection.Close Set objConnection = Nothing End Sub
»
- Vishesh's blog
- Login or register to post comments
- 19963 reads
Recent comments
5 years 42 weeks ago
6 years 28 weeks ago
6 years 40 weeks ago
6 years 42 weeks ago
6 years 43 weeks ago
6 years 49 weeks ago
7 years 5 weeks ago
7 years 5 weeks ago
7 years 5 weeks ago
7 years 5 weeks ago