|
-
Apr 24th, 2006, 06:29 PM
#1
[FAQ's: OD] How do I transfer data between Excel and Access?
You can perform the transfer many ways. Using Access VBA, ActiveX Data Objects and Excel's Object Model, etc. I'm not going to cover using other databases in this thread, just Access. For MS SQL Server, see this FAQ Thread or this FAQ Thread.
You can do the transfer from the Excel point of view or also from the Access point of view. See this FAQ Thread for the Access examples.
Excel 2003 VBA Code Example:
VB Code:
Option Explicit
'Add a reference to MS ActiveX Data Objects 2.x Library
Private Sub Command1_Click()
Dim oRs As ADODB.Recordset
Dim oCnn As ADODB.Connection
Dim i As Integer
'Connect to your Access db
Set oCnn = New ADODB.Connection
oCnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\RobDog888.mdb;User Id=admin;Password=;"
oCnn.Open
'Create your recordset
Set oRs = New ADODB.Recordset
oRs.Open "SELECT * FROM Table1;", oCnn, adOpenKeyset, adLockReadOnly, adCmdText
'Add to your current workbook and add the field names as column headers (optional)
For i = 0 To oRs.Fields.Count - 1
Workbooks("Book1").Sheets(1).Cells(1, i + 1).Value = oRs.Fields(i).Name
Next
Workbooks("Book1").Sheets(1).Range("1:1").Font.Bold = True
Workbooks("Book1").Sheets(1).Cells(2, 1).CopyFromRecordset oRs
'Clean up ADO Objects
oRs.Close
Set oRs = Nothing
oCnn.Close
Set oCnn = Nothing
End Sub
Last edited by RobDog888; Aug 17th, 2007 at 08:18 AM.
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum. 
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it! 
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6 
-
Aug 23rd, 2006, 04:15 PM
#2
Re: [FAQ's: OD] How do I transfer data between Excel and Access?
Here is how you export your Access db table.
Populate an ADO recordset, create a new Excel workbook, and then copy the entire recordset into a sheet, ex. sheet1.
VB 6 And ADO Code Example:
VB Code:
Option Explicit
'Add a reference to MS Excel xx.0 Object Library
'Add a reference to MS ActiveX Data Objects 2.x Library
Private Sub Command1_Click()
Dim oRs As ADODB.Recordset
Dim oCnn As ADODB.Connection
Dim oApp As Excel.Application
Dim oWB As Excel.Workbook
Dim i As Integer
'Connect to your Access db
Set oCnn = New ADODB.Connection
oCnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\RobDog888.mdb;User Id=admin;Password=;"
oCnn.Open
'Create your recordset
Set oRs = New ADODB.Recordset
oRs.Open "SELECT * FROM Table1;", oCnn, adOpenKeyset, adLockReadOnly, adCmdText
'Create an instance of Excel and add a new blank workbook
Set oApp = New Excel.Application
oApp.Visible = False
Set oWB = oApp.Workbooks.Add
'Add the field names as column headers (optional)
For i = 0 To oRs.Fields.Count - 1
oWB.Sheets(1).Cells(1, i + 1).Value = oRs.Fields(i).Name
Next
oWB.Sheets(1).Range("1:1").Font.Bold = True
oWB.Sheets(1).Cells(2, 1).CopyFromRecordset oRs
'Clean up ADO Objects
oRs.Close
Set oRs = Nothing
oCnn.Close
Set oCnn = Nothing
'Clean up Excel Objects
oWB.Close SaveChanges:=True, FileName:="D:\Test.xls"
Set oWB = Nothing
oApp.Quit
Set oApp = Nothing
End Sub
Last edited by RobDog888; Aug 17th, 2007 at 08:20 AM.
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum. 
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it! 
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6 
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|