I am having a problem regarding recordsets and it's properties. I am trying to save an edited recordset(not a new one). For some reason, when the rs.open command line is executed it changes the setting of rs.CursorType from adOpenKeyset to adOpenStatic and when I try to assign the edited values to the recordset, I get a BOF/EOF error(run-time error '3021'). Below is code, and any suggestions would be greatly appreciated.

Code:

Private Sub UpdateData() ' This procedure updates data of current customers
Dim response As Integer
Dim rs As ADODB.Recordset
Dim strSQL As String

strSQL = "Exec sp_get_atm_info " & cbAtmId.Text
Set rs = New ADODB.Recordset
rs.Source = strSQL
Set rs.ActiveConnection = cn
rs.CursorLocation = adUseClient
rs.LockType = adLockOptimistic
rs.CursorType = adOpenKeyset

rs.Open , , , , adCmdText
response = MsgBox("saving fields", vbOKOnly)
rs.Fields("AtmId") = cbAtmId.Text
rs.Fields("Name") = txtCompany.Text
rs.Fields("Address") = txtAddress.Text
rs.Update
rs.Close

Set rs = Nothing
End Sub