Jack,
I believe you need to do it slightly differently, as using the execute method yeilds a forward only, read only recordset. Try it this way:
Public Function GetRecordSet() As ADODB.Recordset
Dim cnn As New ADODB.Connection
cnn.Open sqlServerConnection
cnn.CursorLocation = adUseClient
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
cmd.ActiveConnection = cnn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "StoredProcName"
Dim rs As New ADODB.Recordset
Set GetRecordSet = rs.open cmd, , adOpenKeyset, adLockOptimistic, adCmdStoredProc
End Function
JimD.