Estou tentando atribuir ao recordset de um form Access, porém apesar do recordset retornar registros, ao tentar setar o recordset do form, aparece o seguinte erro:

If Me.mol_Filtro.Value = 1 Then 'Todos
Set rs = sp_pesquisaEmpregado(1, "")
ElseIf Me.mol_Filtro.Value = 2 Then 'nome
Set rs = sp_pesquisaEmpregado(2, Trim(Me.txt_Filtrar))
ElseIf Me.mol_Filtro.Value = 3 Then 'CPF
Set rs = sp_pesquisaEmpregado(3, Trim(Me.txt_Filtrar))
End If
Set Form_frm_EmpregadosLista_Frame.Recordset = rs
Public Function sp_pesquisaEmpregado(iPesquisa As Integer, parPesquisa As String) As ADODB.Recordset
On Error GoTo Err_sp_pesquisaEmpregado
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.Command
Set cn = CurrentProject.Connection
cn.CursorLocation = adUseServer
With cmd
.ActiveConnection = cn
.CommandType = adCmdStoredProc
If iPesquisa = 1 Then
.CommandText = "sp_PesquisaEmpregadoTODOS"
ElseIf iPesquisa = 2 Then
.Parameters.Append cmd.CreateParameter("@nomeEmpregado", adVarChar, adParamInput, 100, parPesquisa)
.CommandText = "sp_PesquisaEmpregadoNOME"
ElseIf iPesquisa = 3 Then
.Parameters.Append cmd.CreateParameter("@CPF", adInteger, adParamInput, 14, Replace(Replace(parPesquisa, ".", ""), "-", ""))
.CommandText = "sp_PesquisaEmpregadoCPF"
End If
End With
With rs
.CursorLocation = adUseClient
.Open cmd, CursorType:=adOpenKeyset, _
LockType:=adLockReadOnly, _
Options:=adCmdStoredProc
Set .ActiveConnection = Nothing
End With
Set rs = cmd.Execute
Set sp_pesquisaEmpregado = rs
Set cn = Nothing
[b]Sergio Ivanenko[/b]