ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Return ADO recordset to worksheet (https://www.excelbanter.com/excel-programming/363818-return-ado-recordset-worksheet.html)

Terri[_6_]

Return ADO recordset to worksheet
 
Any help would be appreciated.

I am trying to return a recordset to a worksheet using ADO. I want to go
dsn-less.

I confident that my recordset returns data, I've tested this in Access and
can return records there. I am a new excel programmer.

I am trying to use CopyFromRecordset to return the records. When I am in
the VBA editor I choose Run Sub but no records are returned to Sheet1.

I'd like the recordset to be refreshed every time the sheet is activated.

I've created a reference to Microsoft ActiveX Data Objects 2.8 library.

Am I missing something?

Sub ImportData()
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection

Dim strConn As String
strConn = "PROVIDER=SQLOLEDB;"
strConn = strConn & "SERVER=MYSERVER;INITIAL CATALOG=MYDATABASE;"

strConn = strConn & " INTEGRATED SECURITY=sspi;"
cn.Open strConn

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset

With rs
.ActiveConnection = cn
.Open "SELECT * FROM MyTable"
Sheet1.Range("A1").CopyFromRecordset rs
.Close
End With

cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub





Ron de Bruin

Return ADO recordset to worksheet
 
See if this help you

closed Excel books
http://www.rondebruin.nl/ado.htm

Or Access data
http://www.rondebruin.nl/accessexcel.htm

--
Regards Ron De Bruin
http://www.rondebruin.nl



"Terri" wrote in message ...
Any help would be appreciated.

I am trying to return a recordset to a worksheet using ADO. I want to go
dsn-less.

I confident that my recordset returns data, I've tested this in Access and
can return records there. I am a new excel programmer.

I am trying to use CopyFromRecordset to return the records. When I am in
the VBA editor I choose Run Sub but no records are returned to Sheet1.

I'd like the recordset to be refreshed every time the sheet is activated.

I've created a reference to Microsoft ActiveX Data Objects 2.8 library.

Am I missing something?

Sub ImportData()
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection

Dim strConn As String
strConn = "PROVIDER=SQLOLEDB;"
strConn = strConn & "SERVER=MYSERVER;INITIAL CATALOG=MYDATABASE;"

strConn = strConn & " INTEGRATED SECURITY=sspi;"
cn.Open strConn

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset

With rs
.ActiveConnection = cn
.Open "SELECT * FROM MyTable"
Sheet1.Range("A1").CopyFromRecordset rs
.Close
End With

cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub







Terri[_6_]

Return ADO recordset to worksheet
 
Ron, Thanks for your response.

I've changed my line of code to
Worksheets("Sheet1").Range("A2").CopyFromRecordset rs

I've also attached my code to a command button and that works. My next task
is to run the code everytime a worksheet becomes active. There will be
several worksheets and each time the users clicks to a new one I want the
data to be refreshed.


"Ron de Bruin" wrote in message
...
See if this help you

closed Excel books
http://www.rondebruin.nl/ado.htm

Or Access data
http://www.rondebruin.nl/accessexcel.htm





Ron de Bruin

Return ADO recordset to worksheet
 
Hi Terri

There is a event in the sheet module named Activate

Private Sub Worksheet_Activate()
YourMacroName
End Sub


--
Regards Ron De Bruin
http://www.rondebruin.nl



"Terri" wrote in message ...
Ron, Thanks for your response.

I've changed my line of code to
Worksheets("Sheet1").Range("A2").CopyFromRecordset rs

I've also attached my code to a command button and that works. My next task
is to run the code everytime a worksheet becomes active. There will be
several worksheets and each time the users clicks to a new one I want the
data to be refreshed.


"Ron de Bruin" wrote in message
...
See if this help you

closed Excel books
http://www.rondebruin.nl/ado.htm

Or Access data
http://www.rondebruin.nl/accessexcel.htm








All times are GMT +1. The time now is 01:56 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com