View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Ron de Bruin Ron de Bruin is offline
external usenet poster
 
Posts: 11,123
Default 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